Javaの分岐構造 - if...else/switch
Sequential構造は逐次実行しかできず、判断や選択ができないため、分岐構造が必要です。
Java には 2 つの分岐構造があります:
if ステートメント
switch ステートメント
if ステートメント
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 の場合、if ステートメントの後に else ステートメントを続けることができます。 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 ステートメントelseif...else ステートメントを続けると、考えられるさまざまな状況を検出できます。
if、else if、else ステートメントを使用する場合は、次の点に注意する必要があります:
If ステートメントには最大でも 1 つの else ステートメントがあり、else ステートメントはすべての elseif ステートメントの後にあります。
If ステートメントには複数の elseif ステートメントを含めることができ、これらのステートメントは else ステートメントの前に置く必要があります。
else if ステートメントの 1 つが true として検出されると、他の 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("This is else statement"); } } }
上記のコードのコンパイルと実行結果は次のとおりです:
Value of X is 30
ネストされたif...elseステートメント
ですネストされた if-else ステートメントを使用することは合法です。これは、if ステートメントまたは elseif ステートメントを別の if ステートメントまたは elseif ステートメント内で使用できることを意味します。
文法
ネストされた if...else 構文形式は次のとおりです:
if(布尔表达式 1){
////如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
////如果布尔表达式 2的值为true执行代码
}
}
else は、if ステートメント 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 ステートメントは、変数が一連の値内の値に等しいかどうかを判断します。各値はブランチと呼ばれます。 。
语法
switch语法格式如下:
switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 }
switch语句有如下规则:
switch语句中的变量类型只能为byte、short、int或者char。
switch语句可以拥有多个case语句。每个case后面跟一个要比较的值和冒号。
case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
当变量的值与case语句的值相等时,那么case语句之后的语句开始执行,直到break语句出现才会跳出switch语句。3
当遇到break语句时,switch语句终止。程序跳转到switch语句后面的语句执行。case语句不必须要包含break语句。如果没有break语句出现,程序会继续执行下一条case语句,直到出现break语句。
switch语句可以包含一个default分支,该分支必须是switch语句的最后一个分支。default在没有case语句的值和变量值相等的时候执行。default分支不需要break语句。
实例
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); } }
以上代码编译运行结果如下:
$ java Test Well done Your grade is a C $
以上就是【java教程】Java分支结构 - if...else/switch的内容,更多相关内容请关注PHP中文网(www.php.cn)!