黑马程序员技术交流社区
标题: 一道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
: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
Thank You!:handshake
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |