Java分支控制
<上一节
下一节>
Java有两种分支结构:
使用if,else if,else语句的时候,需要注意下面几点:
下一节主要学习Java语言中Number类(在java.lang包中)以及它的子类。
我们将学习如何使用这些类,而不是使用内置的数据类型,这些类可以用来对数字进行格式化,或者拥有数学处理的相关方法
- if语句
- switch语句
if语句:
一个if语句包含一个布尔表达式和一条或多条语句。用法:
If语句的用法如下:if(Boolean_expression){ //Executes when the Boolean expression is true }else{ //Executes when the Boolean expression is false }如果布尔表达式的值为true,则执行if语句中的代码块。否则执行If语句块后面的代码。
例子:
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("This is if statement"); } } }运行结果如下:
This is if statement
if…else语句:
if语句后面可以跟else语句,当if语句的布尔表达式值为false时,else语句块会被执行。用法:
if…else的用法如下:if(Boolean_expression){ //Executes when the Boolean expression is true }else{ //Executes when the Boolean expression is false }
例子:
public class Test { public static void main(String args[]){ int x = 30; if( x < 20 ){ System.out.print("This is if statement"); }else{ System.out.print("This is else statement"); } } }运行结果如下:
This is else statement
if…elseif…else语句:
if语句后面可以跟elseif…else语句,这种语句可以检测到多种可能的情况。使用if,else if,else语句的时候,需要注意下面几点:
- if语句至多有1个else语句,else语句在所有的elseif语句之后。
- If语句可以有若干个elseif语句,它们必须在else语句之前。
- 一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行。
用法:
if(Boolean_expression 1){ //Executes when the Boolean expression 1 is true }else if(Boolean_expression 2){ //Executes when the Boolean expression 2 is true }else if(Boolean_expression 3){ //Executes when the Boolean expression 3 is true }else { //Executes when the none of the above condition is 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(Boolean_expression 1){ //Executes when the Boolean expression 1 is true if(Boolean_expression 2){ //Executes when the Boolean expression 2 is true } }
例子:
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 : //Statements break; //optional case value : //Statements break; //optional //You can have any number of case statements. default : //Optional //Statements }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); 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 a Invalid grade Your grade is a a $ java Test A Excellent! Your grade is a A $ java Test C Well done Your grade is a C $下一节要讲的内容:
下一节主要学习Java语言中Number类(在java.lang包中)以及它的子类。
我们将学习如何使用这些类,而不是使用内置的数据类型,这些类可以用来对数字进行格式化,或者拥有数学处理的相关方法
<上一节
下一节>