Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么下面的代码打印为false?_Java - Fatal编程技术网

Java 为什么下面的代码打印为false?

Java 为什么下面的代码打印为false?,java,Java,谁能解释一下为什么下面的代码会打印false public class Test { public static void main(String[] args) { System.out.println(true?false:true == true?false:true); } } 由于第一个条件是true,它将打印false 编辑: 即使用三元运算符,基本上是一个简化的if if (true) { System.out.println

谁能解释一下为什么下面的代码会打印
false

    public class Test {
public static void main(String[] args) {

    System.out.println(true?false:true == true?false:true);
}
}

由于第一个条件是
true
,它将打印
false

编辑:

即使用三元运算符,基本上是一个简化的if

       if (true) {
           System.out.println(false);
       } else {
           if (true == true) {
               System.out.println(false);
           } else {
               System.out.println(false);
           }
           System.out.println(true);
       }
使用三元运算符,这可以简化为

System.out.println(true?false:true == true?false:true);

因此,上面的帖子使用了与true或false相同的操作。

true?false:true==true?false:true
从左到右求值,因此它等价于
true?false:(true==true?false:true)
。由于
true
true
,第一个三元表达式返回打印输出的
false

这实际上是
true?(false):(true==true?false:true)
我想你想要
(true?false:true)==(true?false:true)
你想从这个问题中得出什么结论?是的,我刚刚看到我搞砸了,给我一点时间,我会用问题中的例子来修改它