为什么以下语句在C中合法但在Java中不合法?

时间:2018-11-15 03:52:52

标签: java c ternary-operator

为什么以下语句在C语言中合法而在Java语言中不合法?

int k = 1;
(10 < 20) ? k++ : k--;

1 个答案:

答案 0 :(得分:5)

这是因为在C语言中,通过添加分号;可以将所有表达式都制成表达式语句。

在Java中,并非所有的表达式都可以做成表达式语句。它们必须是赋值表达式,使用后缀/前缀运算符,是方法调用或新表达式。 See more here

此外,Java中的三元运算符要求每个操作数是一个非void表达式,并且必须分配返回的值。