どうもパケです
今回は前回に引き続き繰り返し構文のひとつ
while文について書いていきます
この記事の目次(タップして読みたいところへ)
1、どう違う?for文とwhile文
どちらも繰り返し処理を行いますが
結論から言うと、書き方が違うだけです
while(繰り返す条件) {
処理内容;
}
for( 変数の初期化 ; 繰り返す条件 ; 式 ){
処理内容;
}

while文では変数の初期化を先に記述し
繰り返す条件に使う式を処理内容の後に記述する点が異なりますね
では実際に eclipse にて
前回for文で書いた1から1000までをすべて足す計算を
while文で書いていきます
2、while文での繰り返し処理
1から1000までをすべて足す計算を while文で書く場合
public static void main(String[] args)
後の { } 内に
int a = 0 ;
int i = 1 ;
while( i <= 1000 ){
a = a + i ;
i++ ;
}
と記述します

下の画像のようにfor文では
int a = 0 ;
for( int i = 0 ; i <= 1000 ; i++ ){
a = a + i ;
}
と記述していました

繰り返し処理後に、
System.out.println(a);
で a を出力することで
書き方は違いますが、同じく 500500 と値を表示できました
ではひとつひとつ見ていきます
3、while文での繰り返し処理 の解説

上の図の①の部分で a と i に 0 と 1 を代入し
初期化を行っています
続いて、②の部分の i に 1 が代入されます
このとき ( ) 内の 1 <= 1000 が true となるため
③の部分の処理が行われます
a = a + i ; の部分では
Javaでの = は右辺を左辺に代入するという意味でしたので
a には 0 + 1 が代入され
a の値が 1 に更新されます
続いて i++ ; で i に 1 が足され
i が 2 に更新されました
③の部分の処理が終わると、また②の部分に戻ってきます

今度は②の部分の ( ) 内が 2 <= 1000 となり再び true となり
③の部分の処理に移ります
今度は a = 1 , i = 2 となっていますので
a = 1 + 2 となり
a = 3 に更新されます
そして i に 1 が足され
i = 3 となり再び②の部分の処理に戻ります
このループを i が 1000 となるまで続き
i = 1001 となった際に ( ) 内が
1001 <= 1000 となり false となるため
③の処理は行われずループを抜け
④の部分が処理され 500500 と表示されます
while文の処理の流れは

上の図のようになります
for文とは書き方が違うだけですね
まとめ
- for文とwhile文 は書き方が違うだけ
- 繰り返す条件が true であれば処理をループする
- 繰り返す条件が false となったらループを抜ける
今回はここまでとさせていただきます
次回は break文 と continue文 について書いていきます
ではでは