Java プログラミングでは、switch-case ステートメントは、変数の値に基づいて、多数のコード ブロックの中から 1 つのコード ブロックを実行するために使用される制御構造です。複数の if-else ステートメントを使用するよりも効率的で読みやすくなります。 switch-case ステートメントを使用するときに理解しておくべき重要な概念の 1 つは、「フォールスルー」です。
フォールスルーは、break ステートメントに遭遇することなくコードの実行が 1 つのケースから次のケースに継続される場合に発生します。デフォルトでは、一致する case ブロックが実行された後、break ステートメントが見つかるか switch ステートメントが終了するまで、制御フローは後続の case ブロックに移行します。
Java の switch-case ステートメントの基本構文は次のとおりです。
フォールスルーがどのように機能するかを理解するために例を見てみましょう:
この例では、出力は次のようになります:
日が 2 の場合、ケース 2 のブロックが実行され、「火曜日」が出力されます。ケース 2 の後には Break ステートメントがないため、実行はケース 3 に続き、次にデフォルトのケースに進み、それぞれ「水曜日」と「その他の日」が出力されます。これは、フォールスルー動作の典型的な例です。
フォールスルーを防ぐために、各ケースをbreakステートメントで終了する必要があります:
これで、出力は次のようになります:
場合によっては、フォールスルーを意図的に使用して、同じコード ブロックで複数のケースを実行することができます:
この例では、曜日の値 1 ~ 5 はすべて「平日です」と表示されます。
switch-case ステートメントのフォールスルーを理解することは、明確でバグのない Java コードを作成するために重要です。フォールスルーは特定のシナリオでは便利ですが、一般的には、意図しない動作を防ぐために Break ステートメントを使用することをお勧めします。
注: Java とは異なり、Ruby の case-when 構文はフォールスルー動作を示しません。各 when 節は独立しており、明示的な指示がない限り、実行は後続の when 節に自動的に続行されません。
以上がJava Switch-Case ステートメントのフォールスルーについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。