标签: java c ternary-operator
为什么以下语句在C语言中合法而在Java语言中不合法?
int k = 1; (10 < 20) ? k++ : k--;
答案 0 :(得分:5)
这是因为在C语言中,通过添加分号;可以将所有表达式都制成表达式语句。
;
在Java中,并非所有的表达式都可以做成表达式语句。它们必须是赋值表达式,使用后缀/前缀运算符,是方法调用或新表达式。 See more here
此外,Java中的三元运算符要求每个操作数是一个非void表达式,并且必须分配返回的值。