例付きのJavaのSwitch caseステートメント

例付きのJavaのSwitch caseステートメント

switch caseステートメント  は、多数のオプション(または選択肢)があり、選択ごとに異なるジョブを実行する必要がある場合に使用されます。

switch caseステートメントの構文は次のようになります。

switch  変数または整数式
{ 
     case constant 
     // Javaコード
     ; 
     ケース定数
     // Javaコード
     ; 
     デフォルト
     // Javaコード
     ; 
}

switch caseステートメントは 、オプションですが、ほとんどがbreakステートメントとともに使用され  ます。最初にbreakステートメントのない例を見てから、breakを使用したswitchケースについて説明します

スイッチハウジングの簡単な例

パブリック クラス SwitchCaseExample1  {

   public  static  void main String args []){ 
     int num = 2 ; 
     switch num + 2 
     { 
        case  1 
	  システムアウトprintln "ケース1:値は次のとおりです:" + num ); 
	ケース 2 
	  システムアウトprintln "Case2:値は次のとおりです:" + num ); 
	ケース 3 
	  システムでるprintln "Case3:値は次のとおりです:" + num ); 
        デフォルト
	  システムアウトprintln "デフォルト:値は:" + num ); 
      } 
   } 
}

出力:

デフォルト  次のとおり です2

説明:  スイッチで式を指定しましたが、変数も指定できます。num + 2を指定しました。num値は2で、追加後は式4です。値4でケースが定義されていないため、標準ケースが実行されました。このため、条件に一致するキャッチがない場合にデフォルトブロックが実行されるように、スイッチケースでデフォルトを使用する必要があります。

スイッチハウジングフローチャート

最初に、スイッチの括弧で指定された変数、値、または式が評価され、次に結果に基づいて、結果に一致する対応するケースブロックが実行されます。

スイッチケースでの休憩

breakステートメントはスイッチケースではオプションですが、スイッチケースを扱う場合はほぼ毎回使用されます。breakステートメントについて説明する前に、次の例を見てみましょう。ここでは、breakステートメントを使用しません。

パブリック クラス SwitchCaseExample2  {

   public  static  void main String args []){ 
      int i = 2 ; 
      スイッチi 
      { 
	 ケース 1 
	   システムアウトprintln "Case1" ); 
	 ケース 2 
	   システムアウトprintln "Case2" ); 
	 ケース 3 
	   システムアウトprintln "Case3" ); 
	 ケース 4
           システムアウトprintln "Case4" ); 
	 デフォルト
	   システムアウトprintln "Default" ); 
      } 
   } 
}

出力:

Case2  
Case3  
Case4  
デフォルト

上記のプログラムでは、スイッチに整数値2を与えたため、制御はケース2に切り替わりました。しかし、ケース2の後、最後までフローを後続のケースに継続させるbreakステートメントはありません。この問題の解決策はbreakステートメントです

プログラムフローがスイッチ本体から出てくる必要がある場合、ブレーク命令が使用されます。スイッチ本体でbreakステートメントが発生するたびに、残りのケースを無視して、実行フローがスイッチから直接発行されます

同じ例を取り上げますが、今回はbreakステートメントを使用します。

breakステートメントを使用した例

パブリック クラス SwitchCaseExample2  {

   public  static  void main String args []){ 
      int i = 2 ; 
      スイッチi 
      { 
	 ケース 1 
	   システムアウトprintln "Case1" ); 
	   休憩; 
	 ケース 2 
	   システムアウトprintln "Case2" ); 
	   休憩; 
	 ケース 3 
	   システムアウトprintln 「ケース3」); 
	   休憩; 
	 ケース 4 
           システムアウトprintln "Case4" ); 
           休憩; 
	 デフォルト
	   システムアウトprintln "Default" ); 
      } 
   } 
}

出力:

Case2

ケース2のみが実行され、残りのケースは無視されたことがわかります。

デフォルトの後にbreakステートメントを使用しなかったのはなぜですか?
コントロール自体はデフォルトでスイッチから削除されるため、使用しませんでした。ただし、デフォルトでブレークを使用する場合は、害がないため使用できます。

スイッチハウジングに関するいくつかのポイント

1)ケースは常に1、2、3などの順序である必要はありません。caseキーワードの後に​​任意の整数値を指定できます。さらに、大文字と小文字は常に昇順である必要はありませんが、要求に基づいて任意の順序で指定できます。

2)スイッチボックスで文字を使用することもできます。例えば ​​-

パブリック クラス SwitchCaseExample2  {

   public  static  void main String args []){ 
      char ch = 'b' ; 
      switch ch 
      { 
	 case  'd' 
	   システムアウトprintln "Case1" ); 
	   休憩; 
	 ケース 'b' 
	   システムアウトprintln "Case2" ); 
	   休憩; 
	 ケース 'x' 
	   システムアウトprintln"ケース3" ); 
	   休憩; 
	 ケース 'Y' 
           システムアウトprintln "Case4" ); 
           休憩; 
	 デフォルト
	   システムアウトprintln "Default" ); 
      } 
   } 
}

3)switchで指定された式は定数値になるはずです。そうでなければ、有効ではありません。
例えば:

変更の有効な式:

スイッチ1 + 2 + 23 
スイッチ1 * 2 + 3 4 

無効なスイッチ式:

スイッチab + cd 
スイッチa + b + c 

4)ネストしたswitchステートメントが許可されます。これは、別のオプションでswitchステートメントを使用できることを意味します。ただし、ネストされたswitchステートメントは、プログラムをより複雑にし、読みにくくするため、避ける必要があります。

Leave a Reply

Your email address will not be published. Required fields are marked *