見出し画像

繰り返し「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

・・・なんとなーく分かりました。

この記事が気に入ったらサポートをしてみませんか?