论坛首页 入门技术论坛

分析一下这段代码的结果

浏览 4592 次
精华帖 (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);
	}
}



输出结果是多少?为什么?
   发表时间:2012-03-15  
这要怎么分析 三元运算,就是一个输出类型的比较啊
0 请登录后投票
   发表时间:2012-03-16  
发现还真是,类型要一致,不然会自动转型
0 请登录后投票
   发表时间:2012-03-16  
输出
x
x

是不是的啊?
0 请登录后投票
   发表时间:2012-03-16  
w156445045 写道
输出
x
x

是不是的啊?

肯定不是,不过我用groovy去运行这段程序时发现是,所以很纳闷
0 请登录后投票
   发表时间:2012-03-16  
沙舟狼客 写道
w156445045 写道
输出
x
x

是不是的啊?

肯定不是,不过我用groovy去运行这段程序时发现是,所以很纳闷

哥们能告诉我你的jdk版本吗?
0 请登录后投票
   发表时间:2012-03-19  
应该是java version "1.6.0_10-rc2"
0 请登录后投票
   发表时间:2012-03-20  
X
88
感谢,楼主。。又学会了。。
0 请登录后投票
   发表时间:2012-03-23  
System.out.println(true?x:0); 
System.out.println(false?i:x);
第一条语句是判断谁为真,谁为真返回谁,x=char'x'>0,是真,所以返回x
第二条语句跟第一条语句相反,所以还是返回X
0 请登录后投票
   发表时间:2012-03-26  
为什么我这边输出X 120呢?
我也是JDK1.6版本啊
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics