java 谁能解释一下这种逻辑

java could anybody explain this type of logic

   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 的这段代码,但我不明白它背后的逻辑,如果我必须了解更多关于它们的信息,它们又叫什么。

是否有任何类似的逻辑类型我应该留意任何建议 help.Thank 你!

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

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

该代码使用三元运算符根据布尔表达式分配变量。三元运算符是 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