如何 int x= 1+ +2+ +3+ +4+ +5;在 JAVA 中返回 15

ADI*_*WAR 1 java

我在采访中被问到如果下面的语句用 java 编译会发生什么。

int x= 1+ +2+ +3+ +4+ +5;
Run Code Online (Sandbox Code Playgroud)

它返回 15。谁能解释一下这是怎么回事?

小智 5

+and-都可以是一元运算符,所以1 + +51 + 5. 所以表达式会被翻译成

int x = 1 + (+2) + (+3) + (+4) + (+5)
Run Code Online (Sandbox Code Playgroud)