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;