for文

2019年8月18日

しばらくはメモがわりに自分のプログラミングについて書いていきます。




For文の構文

for文は繰り返し文の一種で、条件式がtrueである間、処理文が繰り返されるという文です。条件式がfalseになると、処理文を行わず、for文を抜けます。

【構文】
for(初期値の設定;条件式;変数の更新){
処理文;
}

基本文の実行結果

基本は次の文です

【実行結果】
0123456789

初期値の設定は0である例が多いですが、2でも3でも何でもよく、設定した値から出力が始まります。

条件式は<=のようにすると、その数字まで出力してくれます。

変数の更新はi++で1ずつ繰り上がる例が多いですが、i=i+2などとすると、2ずつ繰り上がります。

以上のことを利用して、次のように書くと2の倍数を出力してくれます。

【実行結果】
246810

変数iはfor文の中だけ有効

ところで、このままだと変数iの値はfor文の中の{}でだけ有効です。例えば、このようにするとエラーになります。

変数iはfor文の中だけ有効なので、そこから出てしまうと変数iの値が見つからないということです。このiの値を外に出すためには、このように記述します。

変数iをfor文の前に宣言します。for文の初期値の設定でつけていた「int」は変数の宣言が重複してしまうので消します(重複ローカル変数というエラーが出ると思います)。上の例ではわかりやすいように出力する値の前に「最終的な変数iの値は」と表示されるように書きました。最初の例だと「0123456789」だけでしたが、このようにすると最終的な変数iの値(条件式がfalseになってfor文を抜けた時の値)がわかります。

 

for文のネスト

制御文の中に制御文を入れることをネストと呼びます。for文の中にfor文を入れるとどうなるのでしょうか?

【実行結果】
0123401234

ちょっとわかりにくいですが、内側にあるfor文が2回実行されていることがわかります。改行を表すSystem.out.println(“”);を挿入するとちょっとわかりやすくなります。

【実行結果】
01234
01234




まとめ

for文は()内に3つ式を入れるので、まずそれを覚えないと使うことができません。しかし「条件式がtrueである場合、falseである場合」というのを意識してじっくり考えればそのうち身についてくると思います。

↓よろしければクリックをお願いします
ブログランキング・にほんブログ村へにほんブログ村