Java基础(二)——逻辑运算符
一、逻辑运算符
逻辑与: &
短路与: &&
逻辑或: |
短路或: ||
异或 : ^
非: !
1、逻辑与和短路与
逻辑与和短路与都一样,两边只要有一个false,结果则为false,当两边都为true的时候,结果才为true。
两者的区别:
逻辑与和短路与,区别在于,短路与的左边只要是false,就不会再去判断右边的代码,直接为false;而逻辑与依然会去判断右边的代码。一般短路与常用于业务逻辑;算法一般用逻辑与。
2、逻辑或和短路或
逻辑或和短路或都一样,运算符两边只要有一个true,结果则为true,当两边都为false的时候,结果才为false。
两者的区别:
逻辑或和短路或,区别在于,短路或的左边只要是true,就不会再判断右边的代码,直接为false。而逻辑或会依然去判断右边的代码
因此,业务逻辑里采用短路与/或,能够提高执行效率。
3、异或
异或符号 ^ , 运算符两边如果不一致,则为true,如果一致则为false
4、非
非的符号为 ! ,意为取反。
二、if、else if、else——选择语句
1、if 语句结构
2、if else 语句结构
扫描二维码关注公众号,回复:
13329654 查看本文章
3、多重 if 结构
三、switch——分支结构
1、switch基础使用
2、使用注意
a、没有break会怎样?
会继续往下执行,不会与其他 case 的值再次做等值判断,直到遇到 break 才结束 Switch 语句
b、default一定要在最后吗?
不一定,缺失break有可能会影响程序的执行结果
c、没有default程序会不会发生改变?
缺失break有可能会发生改变。特别是default不是放在最后的时候。
d、switch语句接收的值能是什么类型的数据?
byte,short,int,char,String(JDK1.7以后的版本才能)
char 可以是因为 char 类型数据可以根据 ASCII 转换成 int 类型的数据。