本帖最后由 先小涛 于 2013-4-18 15:37 编辑
这里面有一个隐含的类型自动提升原则,就是将char类型提升为整型,你再运行我的代码,比较一下就知道了- public class Test {
- public static void main(String[] args)
- {
- int x=10;
- System.out.println((char)(x-10+'A'));
- System.out.println(x>9?(char)(x-10+'A'):x);//char和int,则提升为int,所以打印为65,而不是A
- System.out.println(x>9?(char)(x-10+'A'):(char)x);//都是char,故不提升,所以打印为A,而不是65
- System.out.println(x>9?1:2.0);//int和double,故提升为double,所以打印为1.0,而不是int型的1
- }
- }
复制代码 |