【Java】判断分支
常见的分支语句主要包括两个:if和switch。
if语句主要是用的是布尔表达式,或者直接用布尔值控制的,switch则是通过去匹配不同的整型值进行分支操作。
If语句主要有三种形式:
1、
if(判断语句){ 表达式; }
2、
if(判断语句){ 表达式1; } else{ 表达式2; }
3、
if(判断语句1){ 表达式1; } else if{ 表达式2; } else{ 表达式3; }
一般不要省略if、else、else if后面的花括号,这样可以保持代码的可读性,减少错误的发生。如果去掉花括号,则只会执行紧跟着的一句话。
小木槿写出了下面的代码:
转化以后的的代码:
当我们使用else时,这时候还有一个隐含条件,就是对前面的判断取反,按照这个逻辑,对于后面两个if的判断条件,根本无法通过。所以在使用if...else时一定要先处理办函范围更小的情况。
另外还有switch语句,switch后面紧跟的控制表达式的类型只能是byte、short、char、int。但是呢,在jdk1.7以后新增了两个类型:枚举类型和java.lang.String类型,但是一定不能为Boolean类型。
switch ( s ) { case a : 代码块 break; case b : 代码块 break; case c: 代码块 break; default: 代码块 }
首先拿传入的参数s和a、b、c进行匹配,如果遇到相等的情况,则执行case后面的代码块,如果都不执行,则会执行default标签后面的代码块。
但是要特别注意一点,如果遇到了相等的值,这个傻子就会执行后面的所有的代码,不再进行判断后面case的值是否相等,除非他遇到了break,才会结束。