【发布时间】:2017-05-12 23:11:37
【问题描述】:
我用三元运算符尝试了以下操作,但我不明白为什么它没有编译。这个问题似乎很小,但我不明白,因此困扰我 -
第 1 行 --> int a = false ? y+=1 : (x*=10);
第 2 行 --> int b = false ? y+=1:x*=10;
Line 1 可以编译,但 Line 2 不会。为什么 ?
括号在第三个操作数而不是第二个操作数的情况下有何不同。我不必在第二个/第三个操作数(一元,字符串,基本算术......)中使用括号和其他任何东西。为什么只使用赋值运算符,而第三个操作数太具体了?
提前致谢!
【问题讨论】:
标签: java operator-keyword ternary