Latest web development tutorials

Javaの分岐構造 - 他の...あれば/スイッチ

シーケンスストラクチャのみ実行順序は判断と選択肢であること、したがって、分岐構造を必要とすることはできません。

Javaは、2つの分岐構造を有します:

  • if文
  • switchステートメント

if文

文は、ブール式と1つ以上の文が含まれている場合。

文法

次の構文での文の場合:

if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}

ブール式の評価結果がtrueの場合は、コードのif文ブロック。 それ以外の場合は、コード実行の背後にある文ブロックの場合。

public class Test {

   public static void main(String args[]){
      int x = 10;

      if( x < 20 ){
         System.out.print("这是 if 语句");
      }
   }
}

上記のコードは次のように結果がコンパイルされます。

这是 if 语句

場合... else文

if文のブール式がfalseであるelse文と文は、elseステートメントブロックが実行され、後で場合。

文法

...他に次のように使用している場合:

if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

public class Test {

   public static void main(String args[]){
      int x = 30;

      if( x < 20 ){
         System.out.print("这是 if 语句");
      }else{
         System.out.print("这是 else 语句");
      }
   }
}

上記のコードは次のように結果がコンパイルされます。

这是 else 语句

...他の場合... else文の場合

その後のelseif ... else文と文の場合、このステートメントは、可能なさまざまなシナリオを検出することができます。

であれば、もしそうでなければ、else文、以下の点に注意する必要性を使用します。

  • if文のelseif他のすべての文の前に最大1つの他のステートメントでステートメント。
  • 文は、いくつかのelseif文を持つことができる場合は、else文の前になければなりません。
  • 他の1文は、他の真、その他として検出された場合は一旦elseステートメントが実行スキップされた場合と。

文法

次のようにあれば...他の構文は次のとおりです。

if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

public class Test {

   public static void main(String args[]){
      int x = 30;

      if( x == 10 ){
         System.out.print("Value of X is 10");
      }else if( x == 20 ){
         System.out.print("Value of X is 20");
      }else if( x == 30 ){
         System.out.print("Value of X is 30");
      }else{
         System.out.print("This is else statement");
      }
   }
}

上記のコードは次のように結果がコンパイルされます。

Value of X is 30

ネストされたIf ... else文

ネストされたif-else文が正当なものです。 これは、あなたが別の場合、またはelseifを文でIFまたはELSEIFステートメントを使用できることを意味します。

文法

次のように場合は入れ子になった...それ以外の構文は次のとおりです。

if(布尔表达式 1){
   ////如果布尔表达式 1的值为true执行代码
   if(布尔表达式 2){
      ////如果布尔表达式 2的值为true执行代码
   }
}

あなたは...あれば他のネストされたif文のようにすることができます

public class Test {

   public static void main(String args[]){
      int x = 30;
      int y = 10;

      if( x == 30 ){
         if( y == 10 ){
             System.out.print("X = 30 and Y = 10");
          }
       }
    }
}

上記のコードは次のように結果がコンパイルされます。

X = 30 and Y = 10

switchステートメント

値の範囲を有する変数の値を決定するために、ステートメントを切り替えるは等しく、各値は、分岐と呼ばれます。

文法

次のようにスイッチの構文は次のとおりです。

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

switch文は、次のルールがあります。

  • switch文だけ変数の型は、バイト、ショート、intやchar型です。
  • switch文は、複数のcase文を持つことができます。 各ケースの後ろにコロンと比較される値が続きます。
  • 値のcase文のデータ型は、変数のデータ型と同じである必要があり、かつ唯一の定数またはリテラルであることができます。
  • case文の値に等しい変数の値は、case文の後に文が実行されるとbreak文は、switch文の外に現れるまで。 3
  • それがブレーク文を検出すると、switchステートメントが終了されます。 プログラムが実行され、スイッチステートメントの次のステートメントにジャンプします。 case文はbreak文が含まれている必要はありません。 何のbreak文が表示されませんがある場合、プログラムはbreak文まで、次のcase文で継続されます。
  • switch文は、switch文の最後の分岐である必要があり、デフォルトのブランチを含めることができます。 いかなる場合でも文と変数の値に等しい時間のデフォルトの実行。 デフォルトのブランチは、文を破壊する必要はありません。

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("Excellent!"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("Well done");
            break;
         case 'D' :
            System.out.println("You passed");
         case 'F' :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}

上記のコードは次のように結果がコンパイルされます。

Well done
Your grade is C