关于java:java中与短路的详解

6次阅读

共计 909 个字符,预计需要花费 3 分钟才能阅读完成。

public void complicatedexpression_r(){
    int x=20, y=30;
    boolean b;
    b = x > 50 && y > 60 || x > 50 && y < -60 || x < -50 && y > 60 || x < -50 && y < -60;
    System.out.println(b);
}



//false

&& 与操作,|| 或操作都是短路操作符,

&& 与操作时一旦遇到 false 就进行执行 以后关系式(x > 50 && y > 60)中的后续代码

|| 或操作时一旦遇到 true 也进行执行以后关系式中的后续代码

 > ,< 只会失去 true/false

化简为 false || false || false || false 后果为 false

&,| 没有短路成果

都为 true 才返回 true,只有有 true 就返回 true

或 都为 false 则返回 false,只有有 true 就返回 true

public static void main(String[] args) {
        int x=20, y=30;
        boolean b;
        b = x > 50 && y > 60 || x > 50 && y < -60 || x < 50 && y < 60 || x < -50 && y < -60;
        System.out.println(b);
    }

false || false || true || false

//true
public static void main(String[] args) {
        int x=20, y=30;
        boolean b;
        b = false||false|| true || false;
        System.out.println(b);
    }


true

// 与和或的运算根据并不是所谓的真真假假,而是 true/false 

短路运算符只能用于逻辑表达式内,会影响返回值,返回值只会是 true 或 false;非短路运算符可用于位表达式和逻辑表达式内

也能够说:短路运算只能操作布尔型的,而非短路运算不仅能够操作布尔型,而且能够操作数值型。

举荐应用短路运算符进行逻辑判断, 因为短路运算符在肯定水平上能够进步程序运行的效率

局部变量在第一次应用前必须赋值,所谓的应用就是指读取变量的值,所以这里没有任何问题,另一方面,局部变量没有默认值

最初此题即便不晓得短路与,只有晓得优先级即可做对。

优先级就不细说了,相似加减乘除运算法令。

正文完
 0