java布尔运算符

布尔运算符包括这么几种:

& 逻辑与 两边都是true,结果是true
| 逻辑或 一边是true,结果就是true
! 逻辑非 取反 !true –> false
^ 逻辑异或 两边只要是不一致就是true
&& 短路与 用法和 & 一样。
|| 短路或 用法和 | 一样

&&和&的区别?
* &&具有短路效果。如果左边结果是false,则右边不执行。
* &是无论左边是false还是true,右边都会执行。

|(逻辑或)和||(短路或)的区别

开发中常用&&和||,如果当需求要求无论左边的表达式是true还是false,右边的表达式必须执行,此时必须使用逻辑与,短路与做不到。

例子:

public class transform {
   public static void main(String[] args) {
	    System.out.println(5>2 & 5>4); //true
	    System.out.println(5>2 & 5>6); //false  逻辑与只要有一个是false,结果就是false
	    System.out.println(5>3 | 5>10); //true
	    System.out.println(5>11 | 5>10); //false
	    System.out.println(!false); //true
	    System.out.println(true^false); //true
	    System.out.println(false^true); // true
	    System.out.println(true^true); //false
	    System.out.println(false^false); //false
	    //短路与
	    System.out.println(a < b && a++ >= b);
	    System.out.println(a); //10,短路与,第一个式子错误,就不再继续,返回错误
	    System.out.println(a==b && a++>b);//第一个式子正确才需要判断后面的表达式是否正确
	    System.out.println(a);//因为第二个式子执行了,所以a为11
	    System.out.println(a==b && ++a>b);
	    System.out.println(a);
            //短路或
            a=10;
	    b=10;
	    System.out.println(a==b || a++>b);
	    System.out.println(a);//10,短路或,第一个正确,第二个式子不执行
	    System.out.println(a>b||a++>b);
	    System.out.println(a);//11,第二个式子错误,才需要判断第二个式子
}

* 布尔运算符两边的算子必须是布尔类型,整个表达式的运算结果也是一个布尔类型。

原文:http://www.monkey1024.com/javase/162

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值