用于操作两个布尔类型的值的结果
布尔类型true、false,如果一个是true一个是false,它们两个如何运算呢?
比如我们变魔术,手中有没有东西,两只手,如何判断呢?
1、&&:与,前后的两个都是true才返回true,否则就是false
2、&,不短路与,作用与&&相同的,但是不会短路
3、||或,只要两个操作中有一个是true,就可以返回true
4、|不短路或,与||作用相同,但是不会短路
5、!非,取布尔值的相反,true就是false,非真即假,非黑即白
6、^异或,当两个不同时返回true,一个true一个false
&与&&的区别,&总会计算前后两个操作数,而&&先计算左边的操作数,如果左边的操作数为false,则直接返回false,根本不会计算右边的操作数。
//实现一个判断两只手里都有东西的功能
//1、短路与&& 并且
int zuoshou = 1;
int youshou = 1;
/* if(zuoshou > 0 & youshou > 0){
System.out.println("两手里都有糖");
}else{
System.out.println("不是两只手里都有糖:左手数量" + zuoshou +"----右手" + youshou);
}*/
/* if(zuoshou > 0 | youshou > 0){
System.out.println("其中一只手里有糖");
}else{
System.out.println("两只手里都没有糖:左手数量" + zuoshou +"----右手" + youshou);
}*/
/*if(!(zuoshou > 0)){
System.out.println("左手没有糖:左手数量" + zuoshou);
}else{
System.out.println("左手没有糖有糖:左手数量" + zuoshou);
}*/
if((zuoshou > 0) ^ (youshou > 0)){
System.out.println("两手不同:左手数量" + zuoshou +"右手数量" + youshou);
}else{
System.out.println("两手相同:左手数量" + zuoshou +"右手数量" + youshou);
}
/**
* 〈配套视频在------今日头条--鲨鱼微课---每天分享java教程--从初级到高级〉<br>〉
* @author 鲨鱼微课
* @create 2022/2/5
* @since 1.0.0
*/
public class ShaYuWeiKe {
public static void main(String[] args) {
System.out.println("配套视频今日头条--鲨鱼微课---每天分享java教程--从初级到高级");
}
}