锁定老帖子 主题:分析一下这段代码的结果
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-15
public class Test { public static void main(String[] args) { char x='X'; int i=0; System.out.println(true?x:0); System.out.println(false?i:x); } } 输出结果是多少?为什么? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-03-15
这要怎么分析 三元运算,就是一个输出类型的比较啊
|
|
返回顶楼 | |
发表时间:2012-03-16
发现还真是,类型要一致,不然会自动转型
|
|
返回顶楼 | |
发表时间:2012-03-16
输出
x x 是不是的啊? |
|
返回顶楼 | |
发表时间:2012-03-16
w156445045 写道 输出
x x 是不是的啊? 肯定不是,不过我用groovy去运行这段程序时发现是,所以很纳闷 |
|
返回顶楼 | |
发表时间:2012-03-16
沙舟狼客 写道 w156445045 写道 输出
x x 是不是的啊? 肯定不是,不过我用groovy去运行这段程序时发现是,所以很纳闷 哥们能告诉我你的jdk版本吗? |
|
返回顶楼 | |
发表时间:2012-03-19
应该是java version "1.6.0_10-rc2"
|
|
返回顶楼 | |
发表时间:2012-03-20
X
88 感谢,楼主。。又学会了。。 |
|
返回顶楼 | |
发表时间:2012-03-23
System.out.println(true?x:0);
System.out.println(false?i:x); 第一条语句是判断谁为真,谁为真返回谁,x=char'x'>0,是真,所以返回x 第二条语句跟第一条语句相反,所以还是返回X |
|
返回顶楼 | |
发表时间:2012-03-26
为什么我这边输出X 120呢?
我也是JDK1.6版本啊 |
|
返回顶楼 | |