x=(y

kevin_zwy 2013-01-19 10:39:31
java中 int x=3, y=4;
x=(y<x++)?1:0;
x=多少?
不懂x=(y<x++)?1:0; 这行代码的意思
...全文
2269 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Candylibin 2013-01-22
  • 打赏
  • 举报
回复
如果x=(y<x++) 返回1,否则返回0
hncdyj 2013-01-21
  • 打赏
  • 举报
回复
++在前 先加后用 ++在后 先用后加
sgyyz 2013-01-21
  • 打赏
  • 举报
回复
三木运算符,和++的运用,这个写只是为了简洁,其实1L的就是正解,楼主多看书,多实践啊!
deng_1 2013-01-20
  • 打赏
  • 举报
回复
同理楼上..
kutuzov2016 2013-01-20
  • 打赏
  • 举报
回复
?: 三目运算 < ++的优先级别 后++计算规则 = 赋值运算 运算的顺序 x++;x++的值是3,但是x的值是4 y<x++,相当于4<3值为false false?1:0 计算的结果是0 = 赋值运算 于是x=0
勿隐寺 2013-01-20
  • 打赏
  • 举报
回复
x=(y<x++)?1:0; (y<x++)?1:0 这是个三目运算符,应该知道吧。 这段代码的意思是:把三目运算符的值赋给变量x。 说说三目运算符: a?b:c a为true,执行b a为false,执行c 很明显,(y<x++) 是false,所以这段三目运算符的值为 0,再把0赋给x,所以x的值为0。
微风飘过 2013-01-20
  • 打赏
  • 举报
回复
如果y<x++的话。x的值就唯一,否则为0
oHeiYe1 2013-01-20
  • 打赏
  • 举报
回复
引用 3 楼 Tao_QQ 的回复:
因为自增操作的优先级要低于赋值操作,所以程序先进行赋值操作及y<x,而后进行x的自增操作及x=x+1;执行完括弧里面的内容后x变成了4. 因为条件判断为false,因此再次将x赋值为0。先学习一下三目操作符,然后了解一下++操作。这个问题就比较简单了。
top
battle888 2013-01-20
  • 打赏
  • 举报
回复
(y<x++)?1:0 ?: 三元运算符,意思为?号左边的表达式是否为真,如果为真则把冒号左边的1赋给x,否则把冒号右边的0值赋给x
YoungerDreamer 2013-01-19
  • 打赏
  • 举报
回复
因为自增操作的优先级要低于赋值操作,所以程序先进行赋值操作及y<x,而后进行x的自增操作及x=x+1;执行完括弧里面的内容后x变成了4. 因为条件判断为false,因此再次将x赋值为0。先学习一下三目操作符,然后了解一下++操作。这个问题就比较简单了。
brightyq 2013-01-19
  • 打赏
  • 举报
回复
1、看书,条件运算符; 2、自己执行,看结果。
  • 打赏
  • 举报
回复
等同于 if(y<x++) x = 1; else x=0;

62,614

社区成员

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

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