広告
  サイト内検索:
<Let's create a game!> Introduction of programming for absolute beginners English
 

SESSION 8 その7
if文 つづき
  if文の概要

if文
「もし●●なら、▲▲を実行する」
という選択型の制御文だ。


「もし勇者の経験値が1000以上なら
レベルアップする

みたいな感じだな。
 
さっき見た
概要だね。
もし~なら
でプログラムを
作るんだ。

日本語で考えると
分かりやすい
ね。
 
if文の処理の流れ 


「もしも、ことの体重が100キロなら
ダイエットするが失敗。」

ってな例もできるな。

できない!

ケケケ
もおー!



if文の3つの命令


if (もし~なら)
else if (さもなければ~なら)
else (それ以外なら)

必要に応じて組み合わせて使う
 
 
if文は、実際には3つの命令を
組み合わせて作るんだ。


必要に応じて組み合わせて使おう。
 
Javaの予約語だから
全部小文字なんだね。
   
 


じゃあ、
if文の命令を順番に見ていこう。

まずはif (もし~なら)だ。
おー、
その意気だ。
よーし、
あたしも
レベルアップ
するぞー!

  if

if(もし~なら)
 
 
if (もし~なら)
if文を書く時、必須の命令だ。

これを使えば、条件式の結果に
よって、処理を分岐できる
んだよ。

他のif文の命令と組み合わせる
場合も、必ず一番上に来ないと
だめだ。
 
if文は、これが無いと
始まらないんだね。
   
 


if true 処理の流れ
 
if false 処理の流れ
 
 
処理の流れはこんな感じ。

もし条件式がtrueなら
ブロックの中が実行
される。

結果がfalseの場合は
ブロックの中は処理
されないよ。
 
ここで、
さっきやった
「条件の成立」
を使うんだね。 
  そっかー
 

 

if(もし~なら)
 
   
はいっ。
書き方は
「( )」
条件式を書いて
「{ }」のブロックの中に
trueの時に実行する処理

書くんだ。
 


じゃあ、
書き写した例を実行して
みよう。


まずは
変数yuushaExpを
0のままで実行
してみよう。
うーん、
「処理終わり」しか表示
されないね。

0は1000以上じゃないから
条件式の結果はfalse。

ブロックは
実行されないんだ・・・。
経験値0な。
レベルアップ
しないよ・・・。
 

if文の例(if)(KotoTest4のKNMain.java)17行目~
 
・・・      
017   public static void main(String[] args) {  
018            // TODO code application logic here  
019      
020            //変数 yuushaExpをint型で宣言。0に初期化  
021           int yuushaExp = 0; ←変更なし
022      
023            //もしyuushaExpが 1000以上 なら  
024          if(yuushaExp >= 1000){
025                  //レベルアップ!メッセージを表示  
026                  System.out.println("レベルアップしました!");  
027      
028            }  
029      
030            System.out.println("全処理終わり");  
031   }  
032      
・・・      
このまま実行して下さい。
実行結果(出力ウィンドウ)
 
if文の処理の概要(falseの場合) ifの実行


じゃあ、次に
1000にして実行
してみてくれ。

敵をやっつけて
経験値が1000ポイント
貯まったと想像して変えてね。
本当だ!
レベルアップしたあ!

経験値変数が1000以上に
なったから条件式はtrue。

今度はブロックの処理が実行
されたんだー。
想像しすぎ。
やったあ!

何匹倒して
1000ポイントに
なったんだろうねー。
 

if文の例(if)(KotoTest4のKNMain.java)17行目~
 
・・・      
017   public static void main(String[] args) {  
018            // TODO code application logic here  
019      
020            //変数 yuushaExpをint型で宣言。1000に初期化  
021           int yuushaExp = 1000;
022      
023            //もしyuushaExpが 1000以上 なら  
024          if(yuushaExp >= 1000){
025                  //レベルアップ!メッセージを表示  
026                  System.out.println("レベルアップしました!");  
027      
028            }      
029      
030            System.out.println("全処理終わり");  
031   }  
032      
・・・      
黄色の部分を書き写して実行して下さい。
 
実行結果(出力ウィンドウ)
 
if文の処理の概要(trueの場合) ifの実行


こうやって、
変数と、条件式を使って
処理を分岐させるんだ!


yuushaExp変数が1000で
宣言されてるから、
条件「1000以上」を満たして
処理が実行されたんだね。
その通り!
例えば、敵を倒せば経験値は
増えるよな。

経験値変数の値が変われば
処理するルートが変わるんだよ。

これで
分岐できる
んだー。
例では経験値を
固定で書いちゃってる
けどね。

実際は敵を倒した時に
変数の値を増やせば
いいんだよ。

if文の処理の概要(falseの場合) ifの実行
 
if文の処理の概要(trueの場合) ifの実行

 
 

広告
home もくじ 前のページを読む 次のページを読む
  サイト内検索:
広告
お勧めの姉妹サイト
leafdays - リーフデイズ 超初心者のための園芸入門 - 楽しい趣味のガーデニング -
広告