为什么以下代码有效?我希望它会产生错误,但它不会

以下代码中 x 的值是多少:


int x=15; 

x %= x++ + +x - 3

请解释原因。


为什么它不给出语法错误+x或之前的额外+内容?


慕运维8079593
浏览 61回答 2
2回答

蓝山帝景

您可以将您的代码拆分成这样的部分,看看它是如何工作的:    int x = 15;     int y = x++ + +x;    System.out.println(y);  //result: 31 (x = 15, then incremation so it is 15 + 16)    System.out.println(x);  //result: 16 because of previous incrementation    y = y - 3;    System.out.println(y);  //result: 31 - 3 = 28    x %= y;    System.out.println(x);  //result: 16 % 28 = 16

POPMUISE

x %= (x++) + (+x) - 3;这x++称为后增量。你可以查看这个帖子。这+x只是一个符号运算符。因此,您的陈述将评估为:x %= (15) + (+16) - 3;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java