java可以解释这种逻辑

时间:2017-06-30 01:50:46

标签: java math core

   public class Second {

   public static void main(String[] args) {


    System.out.println(1>2?22:43);
    int a,b;
    a=11;
    b=(a==116)?22:33;
    System.out.println(b);

}

}

我是java初学者我很难理解这段代码它会打印22但是我没有得到它背后的逻辑,如果我必须了解更多关于它们的话,这些是什么。

是否有任何类似的逻辑类型,我应该留意任何建议会有所帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

<div class="mobile_title">Mobile Development</div> <div class="web_title">Web Development</div> <img src="http://via.placeholder.com/50x100" width=50 height=100 class="mobile"> <img src="http://via.placeholder.com/50x100" width=50 height=100 class="mobile1"> <img src="http://via.placeholder.com/150x100" width=150 height=100 class="laptop"> <img src="http://via.placeholder.com/150x100" width=150 height=100 class="coding"> <img src="http://via.placeholder.com/150x110" width=150 height=110 class="database">相当于

1>2?22:43

答案 1 :(得分:0)

该代码使用三元运算符根据布尔表达式分配变量。三元运算符是Java if-else语句的简单内联形式。这是三元运算符的结构。

<boolean expression> ? <value if true> : <value if false>

现在,让我们看看你的代码:

System.out.println(1>2 ? 22 : 43);

该行将打印出43,因为布尔表达式1&gt; 2为假。

然后,看看这部分:

int a,b;
a = 11;
b = (a==116) ? 22 : 33;
System.out.println(b);

该代码将打印出33,因为布尔表达式11 == 116为false。

因此,该代码的最终输出不是22.这是最终输出:

43
33