スイッチステートメント Java

⚡ スマートサマリー

スイッチステートメント Java これは、指定された入力値に一致するブロックのみを実行する条件付き構文です。整数または文字を複数のケースラベルと比較し、break を使用して終了し、一致しない値には default を使用して処理を終了します。

  • 🔀 スイッチ定義済み: 入力値に一致する場合のみ実行される条件文。
  • 🏷️ ケースラベル: 各ケースでは、値とコロン、それに続く実行するステートメントを指定します。
  • ブレーク: 一致するケースが実行されたら、switchブロックを終了します。
  • 🧯 デフォルト: 指定された入力値に一致するケースがない場合に実行されます。
  • 使用する理由: ネストされた if…else よりもクリーンで高速な多条件。整数、文字、および (Java 8弦以上。

スイッチステートメント Java

スイッチステートメント Java

私たちはみな、生活の中で定期的にスイッチを使用しています。そうです、照明や扇風機に使用する電気スイッチのことです。下の写真からわかるように、各スイッチは特定の電気機器を操作するために割り当てられています。たとえば、写真では、最初のスイッチは扇風機用、次のスイッチは照明用などです。したがって、各スイッチは 1 つのアイテムのみをアクティブ化/非アクティブ化できることがわかります。

Java スイッチケースチュートリアル

Switch Caseとは Java?

同様に、 Java は、与えられた入力から一致する条件のみをアクティブにする条件文の一種です。ユーザーが数値(この例では1桁のみ)として入力し、単語の数を出力するプログラムの例を考えてみましょう。 整数変数 iSwitch は、スイッチが動作するための入力です。

利用可能なさまざまなオプション(ケース)は、ケースとして記述されます。コロン「:」と共に

これにより、ケースとスイッチへの入力が一致した場合にステートメントが実行されます。

Java スイッチケースの例

class SwitchBoard{
 public static void main(String args[]){
   int iSwitch=4;
   switch(iSwitch){
     case 0:
     System.out.println("ZERO");
     break;

     case 1:
     System.out.println("ONE");
     break;

     case 2:
     System.out.println("TWO");
     break;

     case 3:
     System.out.println("THREE");
     break;

     case 4:
     System.out.println("FOUR");
     break;

     default:
     System.out.println("Not in the list");
     break;
 }
}
}

期待される出力:

FOUR

さて、そこに横たわっているブレークとデフォルトの 2 つの単語は何をするのでしょうか?

  • 最初の「ブレーク」 – 条件が満たされると、単純にスイッチ ブロックから抜け出します。
  • 「デフォルト」 – どの条件も指定された入力に一致しない場合に実行されます。

与えられた例では、これらは単純な print ステートメントですが、メソッドの呼び出しなどのより複雑な状況を参照することもできます。

休憩を設けなかったらどうなるでしょうか?

break が指定されていない場合は、一致する条件とデフォルトの条件が実行されます。その場合、ロジックがおかしくなります。break を使用せずに実験するのはユーザーに任せます。

Java スイッチステートメント

  • 標準的なプログラミング ロジックとして、if…else 条件を使用するだけで実現できますが、その場合、適切なプログラミング プラクティスに最適化されず、コードも読みにくくなります。
  • より複雑なケースを扱うプログラムでは、シナリオはそれほど単純ではなく、複数のメソッドを呼び出す必要が生じます。Switch文はこの問題を解決し、複数のif…else文のネストを回避します。また、if…else文を使用する場合は、最も可能性の高い条件を先頭に配置し、その後ネストされた形で処理を進めることをお勧めします。
  • いくつかのベンチマークテストでは、Java の場合、反復回数が多い場合、if…else 文と比較して switch 文の方が高速であることが証明されています。

注意すべき点

  • 保持できる case Java の数に制限はありません。
  • Switch Java は、入力を整数または文字としてのみ受け取ることができます。
  • の最新バージョン Java8 では、待望の Java スイッチ文字列ステートメントのサポートも導入されています。

それでは、自分の配電盤に配線してみましょう。

よくあるご質問

A Java switch文は、byte、short、int、char、それらのラッパークラス、enum、および( Java 7) 文字列。ケースラベルは、スイッチ変数の型と互換性のある定数式でなければなりません。

break がない場合、実行は「フォールスルー」し、一致するケースに加えて、デフォルトを含む後続のすべてのケースが、break またはブロックの終了まで実行されます。これは意図的な場合もありますが、多くの場合バグです。

はい。 以来 Java 7. switch文は文字列値をサポートします。switch文はequals()メソッドを使用して文字列を比較するため、caseラベルは正確な大文字小文字を区別する文字列リテラルである必要があります。

AIは、長いif-else文の連鎖を分析し、比較されている単一の変数を特定し、適切なcaseラベルとbreak文を備えたより簡潔なswitch文にリファクタリングすることで、可読性とパフォーマンスを向上させることができます。

はい。AIを活用したリンターは、break文がなく意図せずフォールスルーしてしまう可能性のある箇所を検出し、break文や明示的なフォールスルーコメントを追加して意図を明確にすることを提案します。