【问题标题】:java could anybody explain this type of logic [duplicate]java谁能解释这种类型的逻辑[重复]
【发布时间】:2017-12-03 21:06:34
【问题描述】:
   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,但我没有得到它背后的逻辑,如果我必须了解更多关于它们的信息,它们叫什么。

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

【问题讨论】:

标签: java math core


【解决方案1】:

这个1>2?22:43相当于

if (1>2) then return 22 else return 43

【讨论】:

    【解决方案2】:

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

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

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

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

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

    那么,看这部分:

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

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

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

    43
    33
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-25
      • 1970-01-01
      • 1970-01-01
      • 2011-12-22
      • 2021-10-30
      • 2011-12-12
      • 2015-12-05
      相关资源
      最近更新 更多