ネストされたswitch文は、1つのswitch文の中に別のswitch文を含めることができます。これにより、複雑な条件分岐を簡潔に表現することができます。
以下に、ネストされたswitch文の基本的な構文を示します。
switch (変数1) {
case 値1:
// 変数1が値1の場合の処理
switch (変数2) {
case 値A:
// 変数2が値Aの場合の処理
break;
case 値B:
// 変数2が値Bの場合の処理
break;
default:
// 変数2が上記のいずれの値でもない場合の処理
break;
}
break;
case 値2:
// 変数1が値2の場合の処理
// ...
break;
default:
// 変数1が上記のいずれの値でもない場合の処理
break;
}
上記の例では、変数1の値によって最初のswitch文が分岐し、それぞれのケース内で変数2の値に基づいて2番目のswitch文が分岐します。各ケース内で必要な処理を追加し、break文で各ケースの処理の終了を示します。
以下に、ネストされたswitch文のコード例をいくつか示します。
int 変数1 = 1;
int 変数2 = 2;
switch (変数1) {
case 1:
switch (変数2) {
case 1:
System.out.println("変数2は1です");
break;
case 2:
System.out.println("変数2は2です");
break;
default:
System.out.println("変数2は1でも2でもありません");
break;
}
break;
case 2:
System.out.println("変数1は2です");
break;
default:
System.out.println("変数1は1でも2でもありません");
break;
}
この例では、変数1が1であり、変数2が2である場合に、それぞれのケースのメッセージが表示されます。
ネストされたswitch文を使用することで、複雑な条件分岐を効果的に表現することができます。ただし、過度のネストはコードの可読性を低下させる可能性があるため、適切な場面で使用することが重要です。
この記事では、ネストされたswitch文の基本的な使用方法といくつかのコード例を紹介しました。Javaプログラミングでより効果的な制御フローを作成する際に、ネストされたswitch文を検討してみてください。