这句为什么会出错?

binny 2003-06-29 11:10:07
int i = 6;
(i < 0) ? (i++) : (i--);
System.out.println(i);
编译的时候说这句有错误“(i < 5) ? (i++) : (i--);”
难道必须要写成“a = (i < 0) ? (i++) : (i--);”吗?
...全文
33 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
awfe 2003-07-01
  • 打赏
  • 举报
回复
(i < 5) ? (++i) : (--i);
binny 2003-06-29
  • 打赏
  • 举报
回复
我明白了,多谢指点。

这个问题我一直没注意到,今天才发现。

我还以为他的返回值和方法的返回值一样不用管呢。
yuanmeng163 2003-06-29
  • 打赏
  • 举报
回复
(i < 5) ? (i++) : (i--); 这样的语句是有返回值的,要把返回值赋给一个变量才行,就象你只写个1 + 2会报错一样,不过你可以把这样的语句作为方法的返回值,如:
return (i < 5) ? (i++) : (i--);
还有,你这个语句有问题,(i < 5) ? (i++) : (i--); 因为是后++,所以返回的还是原值,并没有加加或减减。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧