逻辑运算符
实现boolean类型数据之间进行运算
& -----与,也叫单与 &&------且 也叫双与
| -----或,|| ---------或
& 和 && :左右两边同时为true时 结果才为true
| 和 || :左右两边只要有一边为真,结果就为真 (一真则真),两边都为false时,结果为false
& 和 && 之间的区别
相同:都是对boolean类型的数据进行运算
不同点:& 如果运算符左边结果为false,则继续对运算符右边进行运算
&& 如果运算符左边结果是false,则运算符右边不进行运算
开发中推荐使用&&
举例说明:
1.
boolean b = true;
b = false;
int num = 10 ;
if(b&(num++>0){
sout(num+“1“”)
}else {
sout(num+“2”)
}
此时程序运行结果:num的值为11 ,
2.
boolean b = true;
b = false;
int num = 10 ;
if(b&&(num++>0){
sout(num+“1“”)
}else {
sout(num+“2”)
}
此时程序运行结果:num的值为10 ,
原因:因为运算符左边为false,运算符右边就不会继续运行了,所以num的值没有进行自增
| 和 || 之间的区别
相同:都是对boolean类型的数据进行运算
不同点:如果运算符左边结果为false,则 | 和 || 都会继续对运算符右边进行运算
如果运算符左边结果是true,则 | 会继续对运算符右边进行运算
|| 不会对运算符右边进行运算
开发中推荐使用 | |
题目练习:
/** * @author 喜羊羊 * @date 2024/1/31 14:47 */ public class Test { public static void main(String[] args) { boolean x = true; boolean y = false; short z = 42; if((z++ == 42) && (y = true)){ z++; } if((x = false) || (++z == 45)) { z++; } System.out.println("z" + z); } }
此时输出z的结果为:46