Javaのswitch case文の問題

coldplay.xixi
リリース: 2020-08-01 14:01:04
オリジナル
3577 人が閲覧しました

Java での switch case ステートメントの使用法: 1. switch ステートメントには複数の case ステートメントを含めることができます; 2. case ステートメントの値のデータ型は変数のデータ型と同じである必要があります。定数またはリテラル Constant のみにすることができます; 3. Break ステートメントに遭遇すると、switch ステートメントは終了します。

Javaのswitch case文の問題

#Java での switch case ステートメントの使用:

#構文

# #switch case ステートメントの構文形式は次のとおりです。

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}
ログイン後にコピー

関連学習の推奨事項:

Java ビデオ チュートリアル

# #switch case ステートメントには次のルールがあります:

    #switch ステートメントの変数タイプは、byte、short、int、または char です。 Java SE 7 以降、switch は String 型をサポートし、case ラベルは文字列定数またはリテラルである必要があります。
  • switch ステートメントには複数の case ステートメントを含めることができます。各ケースの後には、比較する値とコロンが続きます。
  • case ステートメントの値のデータ型は変数のデータ型と同じである必要があり、定数またはリテラル定数のみにすることができます。
  • 変数の値が case ステートメントの値と等しい場合、case ステートメント以降のステートメントの実行が開始され、switch ステートメントはブレークまでジャンプされません。というステートメントが表示されます。
  • switch ステートメントは、break ステートメントが見つかると終了します。プログラムは switch ステートメントの次のステートメントにジャンプして実行されます。 case ステートメントには、break ステートメントを含める必要はありません。 Break ステートメントが発生しない場合、プログラムは Break ステートメントが発生するまで次の case ステートメントの実行を続けます。
  • switch ステートメントにはデフォルトのブランチを含めることができます。これは通常、switch ステートメントの最後のブランチになります (任意の位置にありますが、最後のブランチにすることをお勧めします)。変数値と等しい case ステートメントがない場合、default が実行されます。デフォルトのブランチには、break ステートメントは必要ありません。
  • switch case が実行されると、まずそれが照合され、照合が成功すると、現在の case の値が返されます。その後、ブレークがあるかどうかに基づいて、 、出力を継続するか判定を飛び出すかを判定します。

Test.java ファイル コード:

public class Test {
   public static void main(String args[]){
      //char grade = args[0].charAt(0);
      char grade = 'C';
 
      switch(grade)
      {
         case 'A' :
            System.out.println("优秀"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("良好");
            break;
         case 'D' :
            System.out.println("及格");
            break;
         case 'F' :
            System.out.println("你需要再努力努力");
            break;
         default :
            System.out.println("未知等级");
      }
      System.out.println("你的等级是 " + grade);
   }
}
ログイン後にコピー

上記のコードのコンパイルと実行結果は次のとおりです。 :

良好
你的等级是 C
ログイン後にコピー

case ステートメント ブロックに Break ステートメントがない場合、JVM は各 case に対応する戻り値を順番に出力せず、照合を継続します。照合が失敗した場合、デフォルトの case が出力されます。返される。

Test.java ファイル コード:

public class Test {
   public static void main(String args[]){
      int i = 5;
      switch(i){
         case 0:
            System.out.println("0");
         case 1:
            System.out.println("1");
         case 2:
            System.out.println("2");
         default:
            System.out.println("default");
      }
   }
}
ログイン後にコピー

上記のコードのコンパイルと実行結果は次のとおりです:

default

ブレークがない場合case ステートメント ブロック内のステートメントは一致します。成功後、現在のケースから開始して、後続のすべてのケースの値が出力されます。

Test.java ファイル コード:

public class Test {
   public static void main(String args[]){
      int i = 1;
      switch(i){
         case 0:
            System.out.println("0");
         case 1:
            System.out.println("1");
         case 2:
            System.out.println("2");
         default:
            System.out.println("default");
      }
   }
}
ログイン後にコピー

上記のコードのコンパイルと実行結果は次のとおりです:

1
2
default
ログイン後にコピー

現在正常に一致した case ステートメント ブロックにBreak 文では、現在の case から開始して、後続の case 値がすべて出力され、後続の case 文ブロックに Break 文がある場合、判定が飛び出します。

Test.java ファイル コード:

public class Test {
   public static void main(String args[]){
      int i = 1;
      switch(i){
         case 0:
            System.out.println("0");
         case 1:
            System.out.println("1");
         case 2:
            System.out.println("2");
         case 3:
            System.out.println("3"); break;
         default:
            System.out.println("default");
      }
   }
}
ログイン後にコピー

上記のコードをコンパイルして実行すると、結果は次のようになります:

1
2
3
ログイン後にコピー

以上がJavaのswitch case文の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート