新人にfor文を教えるために書いたコードです。
5通りの書き方をしており、全て同じ挙動を示します。
これらの書き方を使い分けることで、様々なループ条件を記述できます。
【サンプルコード】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
public class Main { public static void main (String[] args){ String array[] = {"one","two","three","four","five"}; // for文の書き方について、5つのCaseを挙げる。 // 何れのCaseも処理結果は同じになる。 // Case1:普通のfor文 // 各々の式は{}内の処理を行う前に実行される // 初期化式→条件式→変化式の順番で実行される // 「int i = 0」は初期化式(1回目の繰り返しで実行) // 「i < array.length」は条件式(満たさなくなると繰り返しを抜ける) // 「i++」は変化式(2回目以降の繰り返しで実行) System.out.println("【Case1:普通のfor文】"); for (int i = 0; i < array.length; i++) { System.out.println("Case1: " + array[i]); } // Case2:初期化式を省略したfor文 // ループカウンタ(iに相当するもの)を別途定義する場合に使用 System.out.println("【Case2:初期化式を省略したfor文】"); int ix = 0; for (; ix < array.length; ix++) { System.out.println("Case2: " + array[ix]); } // Case3:条件式を省略したfor文 // 処理を抜ける処理を別途記述する場合に使用 System.out.println("【Case3:条件式を省略したfor文】"); for (int i = 0;; i++) { if(i >= array.length) { break; } System.out.println("Case3: " + array[i]); } // Case4:変化式を省略したfor文 // ループカウンタを増やす処理を別途記述する場合に使用 System.out.println("【Case4:変化式を省略したfor文】"); for (int i = 0; i < array.length;) { System.out.println("Case4: " + array[i]); i++; } // Case5:拡張for文 // Java5より使用可能になった // Iterableのサブタイプ(配列やコレクション)に対して使用する // 簡潔な書き方で全ての要素を取得することができる System.out.println("【Case5:拡張for文】"); for (String str : array) { System.out.println("Case5: " + str); } } } |
【実行結果】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
【Case1:普通のfor文】 Case1: one Case1: two Case1: three Case1: four Case1: five 【Case2:初期化式を省略したfor文】 Case2: one Case2: two Case2: three Case2: four Case2: five 【Case3:条件式を省略したfor文】 Case3: one Case3: two Case3: three Case3: four Case3: five 【Case4:変化式を省略したfor文】 Case4: one Case4: two Case4: three Case4: four Case4: five 【Case5:拡張for文】 Case5: one Case5: two Case5: three Case5: four Case5: five |
コメント