zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    慎重使用MySQL auto_increment
    Java Tread多线程(0)一个简单的多线程实例
    Nubia Z5S 官方4.4 201内測版 内核版本号信息
    “cvSnakeImage”: 找不到标识符
    raid5什么意思?怎样做raid5?raid5 几块硬盘?
    Quartz CronTrigger运用
    php zip文件内容比較类
    UVA 1069
    Eclipse启动Tomcat时,45秒超时解决方案
    簡單SQL存儲過程實例
  • 原文地址:https://www.cnblogs.com/fanren224/p/8457227.html
Copyright © 2011-2022 走看看