我不明白下面给出的代码的逻辑

Ris*_* Ff 2 java java-8

我已在编译器中运行此代码并得到输出 1,但我不明白它将如何成为 1。请用答案解释。

public class Main {
    public static void main(String args[]) {
        int a = 10;
        int b = 2;
        System.out.println((a < b) ? a++ : --b);
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 7

三元运算符?:将检查条件(a < b),因为它为 false,所以它将执行之后的表达式:,即--b

--b将 b 减 1,并返回减后的值,即 1。