これを実行しようとすると、次のコードの出力は "6" として宣言されます。
これを考えてみると、「k += 3 + ++k;」という式は、k = k + (3 + ++k); と評価されるべきでしたが、この場合、出力は 7 になるはずでした。 k = k + 3 + ++k; と評価されたように、結果は 6 になりました。
式が " k + (3 + ++k); ではなく "k + 3 + ++k" と評価された理由を誰か説明してもらえますか?
public class TestClass {
public static int m1(int i){
return ++i;
}
public static void main(String[] args) {
int k = m1(args.length);
k += 3 + ++k;
System.out.println(k);
}
}