为什么输出30而不是31?

时间:2018-01-16 10:28:08

标签: java increment

public class Class1 {

    public static void main(String[] args) {
        int myFirstNumber =20;
        int mySecondNumber=10;
        System.out.println(myFirstNumber+++mySecondNumber);
    }
}

mySecondNumber 应该已增加到11,从而使总和31

1 个答案:

答案 0 :(得分:9)

这是Java解析器解释

+++

(myFirstNumber++)+,而不是+(++mySecondNumber)

我们使用术语贪婪来描述该行为;即,解析器尽可能多地消耗输入,以形成有意义的表达式。

请放心,在println之后,myFirstNumber将为21。