首页 > 代码库 > java 和 c++ 的三目运算符的区别
java 和 c++ 的三目运算符的区别
以前很少用java,就知道java和c++差不多。
今天就踩了一个坑。
不吐糟,直接进正文。
看这种写法,把较小的数加1。
int a = 5, b = 6; b > a ? (a = 1) : b++;
众所周知,c++这样写是没问题的。
但是java就不行!
$ javac Solution.java Solution.java:14: error: not a statement b > a ? a++ : b++; ^ 1 error
上网查了资料才知道,
java的表达式规定只有以下四种
赋值表达式,
自增,
方法调用
对象创建表达式.
然后三目运算符 不对返回值进行以上处理的话,并不能构成表达式(not a statement)
就像这样 java也报错了。
int a = 5, b = 6; a;
$ javac Solution.java Solution.java:14: error: not a statement a; ^ 1 error
java 和 c++ 的三目运算符的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。