码迷,mamicode.com
首页 > 编程语言 > 详细

java 和 c++ 的三目运算符的区别

时间:2017-01-24 23:58:03      阅读:368      评论:0      收藏:0      [点我收藏+]

标签:方法   pre   java   表达   state   处理   highlight   方法调用   三目运算符   

以前很少用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

  

原文地址:http://www.cnblogs.com/liangyongrui/p/6348001.html

java 和 c++ 的三目运算符的区别

标签:方法   pre   java   表达   state   处理   highlight   方法调用   三目运算符   

原文地址:http://www.cnblogs.com/liangyongrui/p/6348001.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!