プログラミング中に、さまざまな条件でさまざまなアクションを処理するのは非常に困難です。 Java や他の多くのプログラミング言語では、if-else、if-else-if などのステートメントがさまざまな条件で使用されます。しかし、条件ごとに個別のアクションが必要なシナリオが「n」個ある場合はどうなるでしょうか?この時点で複数の if ステートメントと else-if ステートメントを使用すると、条件ごとに複数の中括弧とステートメントのセットが含まれるため、コード内のどこかの時点でプログラマが混乱する可能性があります。 Java でこのような状況に対処するには、プログラマーの利便性を高め、コード行と複雑さを軽減するために Switch-Case ステートメントが使用されます。
switch ステートメントは分岐ステートメントです。 case は、Switch ステートメントで使用されるキーワードです。式の値が case 値と一致した場合にステートメントの実行が実行され、特定のステートメントのコードが Break キーワードによって終了します。 Java の Case 値には、byte、int、short、byte データ型を使用できます。 Java JDK7 では、case の値を String、Wrapper、および列挙型にすることもできます。 Case の値のいずれかが式と一致しない場合は、デフォルトのステートメントが実行されます。ただし、Switch-Case ステートメントでは、default キーワードと Break キーワードは必須ではありません。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
上で説明したように、特定の Switch ステートメント内の Case は、式の値が Case 値と一致したときに実行されます。いずれの値も case 値と一致しない場合は、Switch ブロックで定義されたデフォルトのステートメントが実行されます。それ以外の場合は何も実行されません。
要約すべき重要なポイント:
switch (expression) { // case statements // same data type for switch expression and case value Case value1: //Statement /statements to be executed break; case value 2: //Statement /statements to be executed break; case value'n': //Statement /statements to be executed break; // There can be as many Cases as the user wants in a Switch block //default is an optional case and executed if none of the case values matches the expression default: //statement }
上記のフロー図は、Java で Switch ステートメントと Case ステートメントがどのように機能するかを明確に示しています。 Switch ステートメントで定義された式の一致が先頭から最後のステップまで Case 値とどのように一致するかを示します。値が最後のステップまで一致しない場合、つまり、すべてのケースの最後に false が返された場合、「default」内のコードが実行されます。いずれかの case の値が式と一致する場合、つまりいずれかの Case ステートメントで「true」が返された場合、特定のブロックのコードが実行され、実行は Switch ブロックを終了します。
以下の例は、Java で Case ステートメントがどのように機能するかを明確に示しています。
Switch 式の値が Case 値と一致する場合
コード:
public class MyClass { public static void main(String args[]) { int value = 8; switch (value) { case 3: System.out.println("Congratulations here is the case 3 executed"); break; case 4: System.out.println("Congratulations here is the case 4 executed"); break; case 8: System.out.println("Congratulations here is the case 8 executed"); break; default: System.out.println("Sorry none of your cases matched"); break; } } }
出力:
Switch 式に一致する値がない場合
コード:
public class MonthClass { public static void main(String args[]) { int month= 13; switch (month) { case 1: System.out.println("Month is January"); break; case 2: System.out.println("Month is February"); break; case 4: System.out.println("Month is April"); break; default: System.out.println("Sorry either the value you have given is invalid or not matched with any of the case."); break; } } }
出力:
Case ステートメントに Break キーワードが欠落している場合
コード:
public class VowelClass{ public static void main(String args[]) { char ch = 'a'; switch (ch) { case 'e': System.out.println("Value matched - e, a vowel\n"); break; case 'a': System.out.println("Value matched - a, a vowel"); case 'w': System.out.println("Value matched - w, not a vowel"); case 'o': System.out.println("Value matched - o, a vowel"); default: System.out.println("Sorry none of your cases matched"); break; } } }
出力:
スイッチブロックにデフォルトブロックがない場合
コード:
public class NoOutputClass { public static void main(String args[]) { char grades = 'D'; switch (grades) { Case 'A': System.out.println("Grade A - Excellent"); break; case 'B': System.out.println("Grade B - Good"); break; case 'C': System.out.println("Grade C - Poor"); break; } } }
出力:
上記の記事では、switch ステートメントのほぼすべてのシナリオと、それによって生成される出力について説明しました。 Switch ステートメントの作業は非常に簡単ですが、いくつかの間違いが行われると予期しない結果が生じる可能性があるため、プログラマーは作業する前にそれをよく理解しておく必要があります。通常、Switch は、特定の条件でアクションを実行する必要があり、条件が多数あるシナリオで使用する必要があります。条件が 2 ~ 3 つだけの場合は、if-else -if ステートメントを使用して解決できます。
これは Java の Case ステートメントのガイドです。ここでは、Java の Switch-Case ステートメントのフロー図と構文を例とともに説明します。詳細については、他の推奨記事を参照することもできます –
以上がJava の Case ステートメントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。