java基础之if与switch判断(4)



文章目录

  • java基础之if与switch判断(4)
  • 一、if判断
  • 1.单层if判断
  • 2.多层if判断
  • 3.if嵌套
  • 二、switch判断
  • 三.if与switch的区别
  • if与三目运算符
  • 四.小结




一、if判断

1.单层if判断

if(表达式){
        表达式成立执行的代码;
}else{
        表达式不成立执行的代码;
}

表达式必须是逻辑形式,也就是boolean类型.if判断后的else可写可不写.

2.多层if判断

if(表达式1){
	        表达式1成立执行的代码;
}else if(表达式2){
	       表达式2成立执行的代码;
}else{
	      表达式1和2都不成立执行的代码;
}

多层if判断可以使用else if进行多条件判断,可以无限写下去,else可写可不写.

3.if嵌套

if(表达式1){
	        表达式1成立执行的代码;
	        if(表达式2){
		        表达式2成立执行的代码;
	        }else if(表达式3){
		        表达式3成立执行的代码;
	        }else{
	    	    表达式2,3都不成立执行的代码;
	        }
}else{
	      表达式1不成立执行的代码;
}

嵌套if判断就是在第一个if判断里面再写一个if判断,可以无限写下去,最后的else可写可不写.

二、switch判断

switch (表达式){
            case 常量值1:{
                System.out.println("对应语句块!");
                break;
            }
            case 常量值2:
                System.out.println("对应语句块!");
                break;
            default:
                System.out.println("表达式都不成立语句块");
                break;
        }

说明:
1.表达式的返回值必须是int/byte/char/short的值,jdk1.7后支持String类型的值
2.case子句中的取值必须是常量/固定值,且所有case子句的取值不能重复
3.default子句是可选的,相当于else
4.break语句用来在执行玩case语句后跳出程序,如果没有写break,程序会直接向下运行,且不用判断.
5.case后面的执行体可写{},也可以不写,{}是为case语句提供一个作用域,变量等只能在此作用域内生效,不写的话,就会在switch所有内部生效.

三.if与switch的区别

同: 都是选择判断分支语句.
异:
1.语法不同.
2.语句后表达式值的类型不同,if表达式值是boolean类型.switch表达式值是int/byte/char/short/枚举/string类型
3.使用场景不同,if判断变量的值在某个区间之内,switch判断变量的值是否是某个定值.
在实现分支判断时,一个好的习惯是把匹配成功率高的判断放在前面,可以提高效率.
在表达式中判断,应尽量使用确定的值去跟不确定的的值去判断,否则影响效率或者出现空指针.

if与三目运算符

三目运算符都可以使用if语句来实现,反之则不成立.


四.小结

本章概述了if判断与switch判断的使用以及区别,内容都是干货,这里使用的逻辑判断语句是必须要掌握的.
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!