![見出し画像](https://assets.st-note.com/production/uploads/images/108973685/rectangle_large_type_2_9b5ac5e10055442a22193b90a09be79e.png?width=1200)
繰り返し「while文」
今回は、基本構造の1つの「繰り返し」に該当する
while文を学習しました。(今回もセカちゃんさん見て学習です。)
while文とは
ある条件を満たす間、ずっと処理を繰り返す文
というものだそうです。
書き方はif文と似ているらしい。
while(条件式){
【処理】
}
こんな感じのソースコードになります。
なので、この条件式がtrueであれば
【処理】が実行されて
また条件式に戻り、条件式の判定…
という繰り返し作業になる訳です。
繰り返しが終わる時は
falseの時、ということですね。
抜粋したソースコードで改めて確認
とりあえずソースコードを書きます。
① int i = 0
② while ( i < 3 ) {
③ System.out.println (" i =" + i )
④ i ++ ;
⑤ }
繰り返し処理は
変数の値が変わりながら処理が進む
ことが多いそうです。
① int i = 0
int型の「i」を0で初期化している
要は、i = 0
② while ( i < 3 ) {
whileの条件式は「i」が3より小さければtrueです。
最初の段階では「i = 0」なので、trueとなる。
③ System.out.println (" i =" + i )
②でtrueを受けての実行される処理。
" i = "という文字列と
i の値を連結して表示します。
つまり、「 i = 0」と画面に表示される。
④ i ++ ;
i のインクリメント演算子で+1をします。
つまり、i の値は1に変わります。
※ 最後に説明
⑤ }
④を受けてwhileを閉じます。
条件を見ると i は3より小さいので
(この時点では i = 1 でtrue)
再びwhile文の中に入ります。
ここでいう、②に戻ります。
その後の繰り返し処理
i = 0 が、上記の過程で
i = 1 になりました。
そして繰り返し処理で、
当然ですが次は i = 2 になります。
そして次は i = 3 になります。
i = 3 で、i < 3 でなくなった。
タイトル通りですが、そうなったときは
条件式を満たしていないので
判定はfalseになります。
なので、while文を抜けてwhileの下(⑤以降の行)に
処理が進むという訳です。
画面表示はどうなる?
ちなみに、このソースコードで出力される画面表示は
i = 0
i = 1
i = 2
と出ます。
while文の基本
変数の初期化( int i = 0 )と
カウントアップ( i ++ )という2点が
回数を指定したいときの必要な処理になります。
インクリメント演算子
ところで、④i ++ ;について
インクリメント演算子で+1します。
って書きましたが、復習します(泣)
インクリメント演算子とは
インクリメント演算子(++)は、変数の値を1増やすために使用される演算子です。具体的には、変数に対して「++」を付けることで、その変数の値が1だけ増えます。
インクリメント演算子の使い方
int count = 5;
count++; // countの値が1増える
上記の例では、変数countに初めに5が代入されています。
その後、count++という式が実行されると、
countの値が1増え、6になります。
前置形と後置形
インクリメント演算子は、単独で使うことも、他の式と組み合わせて使うこともでき、前置形と後置形の2つの形式があります。
・前置形の場合、演算子を変数の前に置きます
int count = 5;
++count; // countの値が1増える
・後置形の場合、演算子を変数の後ろに置きます
int count = 5;
count++; // countの値が1増える
どちらの形式を使っても、変数の値を1増やすことができますが、注意点として、インクリメント演算子が式の一部として使われる場合は、前置形と後置形で挙動が異なることがあります。
異なる挙動、とは
int count = 5;
int result = count++;
// 後置形の場合、代入前の値がresultに代入され、その後countが増える
System.out.println(count); // 出力結果は6
System.out.println(result); // 出力結果は5
・・・なんとなーく分かりました。