java ++ -- 异或 短路与 短路或 三目条件

public class Demo {
    public static void main(String[] args) {
        int i1 = 12, i2 = 20;
        int i = (i2++);
        System.out.print("i = " + i);
        System.out.println("   i2 = " + i2);
        i = (++i2);
        System.out.println("i = " + i);
        System.out.println("i2 = " + i2);

    }
}

输出:
i = 20 i2 = 21
i = 22
i2 = 22

总结:
++(- -)
在前时先运算再取值
在后时先取值再运算

异或:
0^0=0
0^1=1
1^0=1
1^1=0
假^假=假
假^真=真
真^假=真
真^真=假
简单来说,相同为0,不同为1;相同为假,不同为真。

短路与:
a&&b:只有a与b都为true,结果才为ture;有一个为false,结果为false。
所谓短路,即在第一项为false的情况下,cpu不再进行第二项的判断。

短路或:
a||b:只有a与b都为false,结果才为false;有一个为true,结果为true。
所谓短路,即在第一项为true的情况下,cpu不再进行第二项的判断。
示例:

String str = null;
System.out.println(null == str || a.isEmpty());

在该段代码中,由于第一项null == str为true,所以无论第二项的结果是true还是false都不影响整体的结果;若此处为”|”非短路与,则第二项执行时必定会报空指针错误。这就是短路或与非短路或的区别。

所以在Java编程中,对于&&和||,Java只看第一个操作数的值,对于&&,如果第一个值为false,那么第二个不再计算,如果第一个值为true,那么还要计算第二个值;对于||,如果第一个值为false,那么还要计算第二个值,如果第一个值为true,那么第二个值不再计算;对于&和|操作符,两边无论如何都计算。

三目条件:
例子:

min=(a<b)?a:b;
解释:如果a<b成立 则min=a 将a的值赋值给min
否则将b的值赋值给min

转载于:https://www.cnblogs.com/fanren224/p/8457227.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值