switch (expression) { case n: statements case m: statements . . . default: statements }
expressionは整数型 (char、byte、short、int、およびそれらに対応するラッパークラス) か、Stringまたはenum型でなければなりません。またcaseラベルは、整数定数かenum定数でなければなりません。14.11. The switch Statement - Chapter 14. Blocks and Statements
void Func(String str) { switch (str) { case "A": // statements break; case "B": case "C": // statements break; default: // statements } }
for (initialization-expression; loop-expression; update-expression) statement
for (Type loop-variable : set-expression) statement
set-expression内の各loop-variableに対して、statementを実行します。
set-expressionを評価した結果は、配列インスタンスかjava.lang.Iterableを実装したオブジェクトでなければなりません。なおすべてのコレクション クラスは、それを実装しています。
この方法では、配列を前方向にしかループできません。また配列の要素の値も変更できません。そのような用途では、基本for文を使用します。
int[] array = { 1, 2, 3 }; for (int a : array) { System.out.print(a); }
ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList.add(1); arrayList.add(2); arrayList.add(3); for (int a : arrayList) { System.out.print(a); }
これを基本for文に書き換えると、
for (Iterator<Integer> iterator = arrayList.iterator(); iterator.hasNext(); ) { int a = iterator.next(); System.out.print(a); }
となります。ちなみにwhile文では、
Iterator<Integer> iterator = arrayList.iterator(); while (iterator.hasNext()) { int a = iterator.next(); System.out.print(a); }
のように表せます。
label: statement
ラベルは、breakとcontinueだけが参照できます。
break;
break label;
continue;
continue label;
return;
return expression;