逐次構造では逐次実行しかできず、判断や選択ができないため、分岐構造が必要となります。
Java には 2 つの分岐構造があります。
if ステートメントは、ブール式と 1 つ以上のステートメントで構成されます。
If ステートメントの構文は次のとおりです。
if(布尔表达式) { //如果布尔表达式为true将执行的语句}
ブール式が true と評価されると、if ステートメントのコード ブロックが実行されます。それ以外の場合は、If ステートメント ブロックに続くコードが実行されます。
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("这是if 语句"); } } }
上記のコードをコンパイルして実行した結果は次のようになります。
这是if 语句
if ステートメントの後に else ステートメントを続けることができます。if ステートメントのブール式の値が false の場合、else ステートメント ブロックが実行されます。
if…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 语句
if ステートメントの後に else if...else ステートメントを続けることができ、これにより、考えられるさまざまな状況を検出できます。
if、else if、else ステートメントを使用する場合は、次の点に注意する必要があります。
if...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("这是else 语句"); } } }
上記のコードをコンパイルして実行した結果は次のようになります。
Value of X is 30
ネストされた if-else ステートメントを使用することは合法です。これは、if または else if ステートメントを別の if または else if ステートメント内で使用できることを意味します。
ネストされた if…else 構文形式は次のとおりです。
if(布尔表达式1){ ////如果布尔表达式1的值为true执行代码if(布尔表达式2){ ////如果布尔表达式2的值为true执行代码} }
if ステートメントと同じように、else if...else をネストできます。
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 ステートメントには次の規則があります。
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("及格"); case 'F' : System.out.println("你需要继续努力"); break; default : System.out.println("无效等级"); } System.out.println("你的等级是" + grade); } }
上記のコードをコンパイルして実行した結果は次のようになります。
良好你的等级是C