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

SESSION 9 その32
while文 つづき

じゃあ、
実際にwhileとdo-whileの
動作の違いを見てみよう。


まずはwhileの場合だ。

loopFlg をfalseに変えて
実行してくれ。
ループフラグを
変えるだけで
いいんだね?
それだけで
いいよ。

実行してね。
ちょちょいの
ちょいっと。
 

while文の例(KotoTest11のKNMain.java)24行目~
 
・・・      
024           //***** 変数 *****
025             boolean loopFlg = false;//ループ継続フラグ  
026             int yuushaLifePoint = 0;//勇者生命力  
・・・      
黄色の部分を変更して実行して下さい。


実行結果(出力ウィンドウ)
実行結果(出力ウィンドウ)
 
 
うーん、
最後のメッセージしか
表示されてないね。
 
ループ継続フラグが
falseで始まってるから
ブロックの処理が1回も
実行されなかった
んだな。
  当然だな。
 
 
while文の流れ(条件式がfalse)
 


 
じゃあ、次はdo-whilenだ。

whileの例をdo-whileに
改変してみたよ。
書き写して実行してみてくれ。

こっちも、
ループ継続フラグはfalseだよ。
 
今回は、
前のはコメントアウトで
いいんだ。
 
フラグはfalse
のままね。
 
 
 

while文の例(KotoTest11のKNMain.java)17行目~
 
・・・      
017   public static void main(String[] args) {  
018            // TODO code application logic here  
019      
020             //***** 定数 *****  
021             final int LIFE_POINT_MAX = 1000;//生命力最大値  
022             final int KAIFUKU_POINT = 200;//1回の回復量  
023      
024           //***** 変数 *****
025             boolean loopFlg = false;//ループ継続フラグ  
026             int yuushaLifePoint = 0;//勇者生命力  
027      
028             //***** 処理 *****  
029      
030             //while(loopFlg == true){  
031             do{  
032                      //回復処理  
033                      yuushaLifePoint = yuushaLifePoint + KAIFUKU_POINT;  
034      
035                     //回復量を表示  
036                      System.out.println(KAIFUKU_POINT + "回復しました");  
037      
038                     //現在の生命力  
039                      System.out.println("現在の生命力:" + yuushaLifePoint);  
040      
041                     //生命力最大値以上になっていたら処理を終了する  
042                     if(yuushaLifePoint >= LIFE_POINT_MAX){  
043                               loopFlg = false;//ループ継続フラグを消す  
044                      }  
045             //}  
046             }while(loopFlg == true);  
047      
048             //終了メッセージ  
049             System.out.println("回復しました");  
050      
051   }  
・・・      
黄色の部分を書き写して実行して下さい。


実行結果(出力ウィンドウ)
実行結果(出力ウィンドウ)
 
あっ、
今度は1回だけ
回復してる!
ちょっと
復活!
 
なっ。

do-whileの場合は、
条件式がfalseでもブロックの
処理が1回実行されてる
のが
分かっただろ。

条件判定前に、doブロックを
実行してるからだよ。
 
do-while文の流れ(条件式がfalse)


do-whileは
最低1回は実行させたい
処理がある場合に使えるね。

これからいろいろな
処理を作る中で
使い方を考えていこう。

はいっ。

 
 
while文の流れ(条件式がfalse)

do-while文の流れ(条件式がfalse)

 
 

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