详解Java编程中if...else语句的嵌套写法

      2020-05-14 19:24      JAVA编程
这篇文章主要介绍了Java编程中if...else语句的嵌套写法,是Java入门学习中的基础知识,需要的朋友可以参考下

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("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执行代码
}
}
你可以像 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

复合 if- else if – else 语句小例子:

百分制转换为等级制

public class IfElseDemo06{ public static void main(String[] args){ int a=85;   //声明int 型变量a 并赋值85 if (a>90){   //条件判断  System.out.println("成绩"+a+",是A 等级"); }else if (a>80){  //条件判断  System.out.println("成绩"+a+",是B 等级"); }else if (a>70){  //条件判断  System.out.println("成绩"+a+",是C 等级"); }else if (a>60){  //条件判断  System.out.println("成绩"+a+",是D 等级"); }else{  System.out.println("成绩"+a+",是B 等级"); } }}

运行结果如图所示。

成绩85,是B等级

再来总结一下if-else语句的规则:

1)、if后的括号不能省略,括号里表达式的值最终必须返回的是布尔值
2)、如果条件体内只有一条语句需要执行,那么if后面的大括号可以省略,但这是一种极为不好的编程习惯。
3)、对于给定的if,else语句是可选的,else if 语句也是可选的
4)、else和else if同时出现时,else必须出现在else if 之后
5)、如果有多条else if语句同时出现,那么如果有一条else if语句的表达式测试成功,那么会忽略掉其他所有else if和else分支。
6)、如果出现多个if,只有一个else的情形,else子句归属于最内层的if语句