Java 分支结构 - if...else
/switch
顺序结构只能顺序执行,不能进行判断和选择,所以须要分支结构。java
Java有两种分支结构:express
if
语句switch
语句
if
语句
一个if
语句包含一个布尔表达式和一条或多条语句。url
语法spa
if
语句的用语法以下:.net
if(布尔表达式) { //若是布尔表达式为true将执行的语句 }
若是布尔表达式的值为true
,则执行if
语句中的代码块。不然执行if
语句块后面的代码。code
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("这是 if 语句"); } } }
以上代码编译运行结果以下:get
这是 if 语句
if...else语句
if
语句后面能够跟else
语句,当if
语句的布尔表达式值为false
时,else
语句块会被执行。it
语法io
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
语句检测为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("这是 else 语句"); } } }
以上代码编译运行结果以下:
Value of X is 30
嵌套的if…else语句
使用嵌套的if-else
语句是合法的。也就是说你能够在另外一个if
或者elseif
语句中使用if
或者elseif
语句。
语法
嵌套的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
语句判断一个变量与一系列值中某个值是否相等,每一个值称为一个分支。
语法
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
语句。 - 当遇到
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("优秀"); 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