查看完整版本: [-- 条件表达式核心三点 --]

风信Java论坛 ›› Java 基础开发 ›› 条件表达式核心三点 登录 -> 注册

1F 条件表达式核心三点   jastby Post by : 2008-09-26 17:19:47.0

首先,请看以下代码,给出你的结果:

char x = 'X';
int  i = 0;
System.out.println(true  ?  x : 0);
System.out.println(false ?  i : x);

你的结果如何呢?你有把握你做对了么??

答案和解释请看二楼!

2F    jastby Post by : 2008-09-26 17:22:22.0
正确答案是:

X
88

其中 88 是 X 的 ASCII 码!


公布解释:

/**
* 条件表达式核心三点:
* 1:如果第二个和第三个操作数具有相同的类型,那么它就是条件表达式的类型。
*
* 2:如歌一个操作书的类型是T,T表示byte、short、或者char,而另
* 一个操作数是int类型的常量表达式,它的值就可以用类型T表示,
* 那么条件表达式的类型就是T
*
* 3:否则,将对操作数类型运用二进制数字提升,而条件表达式的类型就是
* 第二个和第三个操作书被提升后的类型。
*/
3F    jastby Post by : 2008-09-26 17:47:16.0
再来:

char x = ´X´;
int i = 0;
System.out.println(true ? x : i);
System.out.println(false ? i : x);

结果还是:
88
88
4F    metruetian Post by : 2008-11-29 11:34:06.0

风信Java论坛 ›› Java 基础开发 ›› 条件表达式核心三点 登录 -> 注册

查看完整版本: [-- 条件表达式核心三点 --]
CopyRight © 2008-2009 JavaWind.Net Studio All Rights Reserved
Powered By JWind.BBS Vesion 1.0.0 Beta1 Processed in 4 ms,0 (Queries)  Gzip enabled
粤ICP备07511478号