x=(y<x++)?1:0 java中 int x=3, y=4;x=(y<x++)?1:0;x=多少?不懂x=(y<x++)?1:0; 这行代码的意思 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 等同于if(y<x++)x = 1;elsex=0; 因为自增操作的优先级要低于赋值操作,所以程序先进行赋值操作及y<x,而后进行x的自增操作及x=x+1;执行完括弧里面的内容后x变成了4. 因为条件判断为false,因此再次将x赋值为0。先学习一下三目操作符,然后了解一下++操作。这个问题就比较简单了。 (y<x++)?1:0?: 三元运算符,意思为?号左边的表达式是否为真,如果为真则把冒号左边的1赋给x,否则把冒号右边的0值赋给x 如果y<x++的话。x的值就唯一,否则为0 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。 ?: 三目运算< ++的优先级别后++计算规则= 赋值运算运算的顺序x++;x++的值是3,但是x的值是4y<x++,相当于4<3值为falsefalse?1:0 计算的结果是0= 赋值运算 于是x=0 如果x=(y<x++) 返回1,否则返回0 求方法,急,急 swt group移除组件的问题 這個異常怎麼解決 毕业设计C#语言实现信息隐藏技术 请各位大峡帮帮!!! Think in Java 中的源码怎么布置? 看看我这是为什么呀? 200分的调查-100万以上的项目你们公司用.NET开发还是用JAVA?顺便谈谈原因!谢谢。顶有分! 门外汉请教各位大侠关于Java开发的软件的界面汉化的问题 autoexec.bat 用exej4制作的exe程序无法加载oracle驱动 java 非阻塞io 即nio无限循环问题,困扰很久了,csdn版主、 高手请进,开了一个贴,三天没有人回答,希望有高手帮助,拜谢了
if(y<x++)
x = 1;
else
x=0;
?: 三元运算符,意思为?号左边的表达式是否为真,如果为真则把冒号左边的1赋给x,否则把冒号右边的0值赋给x
这段代码的意思是:把三目运算符的值赋给变量x。说说三目运算符:
a?b:c a为true,执行b
a为false,执行c
很明显,(y<x++) 是false,所以这段三目运算符的值为 0,再把0赋给x,所以x的值为0。
< ++的优先级别
后++计算规则
= 赋值运算
运算的顺序
x++;x++的值是3,但是x的值是4
y<x++,相当于4<3值为false
false?1:0 计算的结果是0
= 赋值运算
于是x=0