黑马程序员技术交流社区

标题: 一道java基础测试题,求解!要详细哦? [打印本页]

作者: adminlxb    时间: 2015-4-24 22:17
标题: 一道java基础测试题,求解!要详细哦?
w=1,x=2,y=3,z=4,则条件表达式w > x ? w : (y < z? y : z)的结果为()
A: 4                           B: 3                          C: 2                          D: 1


求大神指点!!最好是详细的解答过程...:handshake


作者: YQliang    时间: 2015-4-24 22:25
w > x ? w : (y < z? y : z)-->w > x ? w : (y)-->y;把三目运算弄明白原理就懂了
作者: godrick007    时间: 2015-4-24 22:28
支持了,虽然不知道但是还是帮你顶了
作者: caotierong    时间: 2015-4-24 22:29
w=1,x=2,y=3,z=4,w > x ? w : (y < z? y : z)
分析:1>2?  为false  所以执行(y<z?y:z)
          3<4?   为true   所以执行y   
          所以答案为3

作者: fanxia_2007    时间: 2015-4-24 22:39
楼上正解
作者: Catface    时间: 2015-4-24 22:41
先算括号里面的
作者: 刘镓旗    时间: 2015-4-24 22:41
答案是3 三元运算符
作者: bianzhiguo6    时间: 2015-4-24 22:43
这个主要考查的是三目运算
作者: adminlxb    时间: 2015-4-24 22:44
caotierong 发表于 2015-4-24 22:29
w=1,x=2,y=3,z=4,w > x ? w : (y < z? y : z)
分析:1>2?  为false  所以执行(y

:handshake
作者: ixue    时间: 2015-4-24 23:01
运算一般来说都是先算括号里面的

作者: 嘛嘛咪阿    时间: 2015-4-24 23:08
这是三元运算符的用法.
三元运算定义格式:判断条件?表达式1:表达式2;
当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值.

你这题选B.
w > x ? w : (y < z? y : z);
首先,w>x,为false,所以运行的结果就是表达式2: (y<z?y:z);
然后y<z?y:z又是一个三元运算.  y<z,为true,所以运行的结果是表达式1: (y) 的值,是3.

作者: adminlxb    时间: 2015-4-24 23:19
嘛嘛咪阿 发表于 2015-4-24 23:08
这是三元运算符的用法.
三元运算定义格式:判断条件?表达式1:表达式2;
当判断条件成立时,运算结果为表达式1 ...

Thank You!:handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2