读书人

多? : 的嵌套解决办法

发布时间: 2013-02-02 12:27:16 作者: rapoo

多? : 的嵌套
return count > r.count ? 1 :
count < r.count ? -1 : 0;
段代中用了多 ? : 嵌套 我搞不清楚他之的

最好用括括起分清楚哪部分是嵌套在哪一部分的 javase?法
[解决办法]
(count > r.count) ? 1 :(( count< r.count) ? -1 : 0)

当红色括号内为真时结果是1,为假时,取最后括号中的值,而这个值又是根据绿色括号内的真假判断的,为真是-1,为假是0,

判断的结果是,count>r.count 取1; count<r.count取-1,count=r.count取0
[解决办法]
你问的这个其实是个三目运算,简单来说就是个公式,结构如下:

表达式1 > 表达式2 ?值1 :值2

其实很好理解,其实就是你给计算机出了个问答题,计算机算出

表达式1 > 表达式2 是真,那它就取 值1,否则就取值2,当然值1和值2

又可以是一个公式,就想你这里的用法,这叫嵌套,当有嵌套的时候,

你这里的执行顺序是:自右向左执行,也就是:

先 : count < r.count ? -1 : 0 这样会得到一个结果,假设得到的是 0
后 : count > r.count ? 1 : 0

其实说白了就是: 如果 count > r.count 结果就是 1, 如果count = r.count 结果就是 0
如果count < r.count 结果就是 -1

读书人网 >J2SE开发

热点推荐