黑马程序员技术交流社区

标题: 条件的不同类型 [打印本页]

作者: 付星    时间: 2011-12-31 16:49
标题: 条件的不同类型
char x = 'X';
int i = 0;
System.out.println(true ? x : 0);//X
System.out.println(false ? i : x);//8,为什么
作者: 杨旭    时间: 2011-12-31 17:02
三元运算符
具有强转动作
将char类型的变量强转成int型 打印出 char类型  在Unicode 编码表中的编号
大写A 为65 小写a 为97  
推算出X在编码中的编号为 88
作者: 李盈科    时间: 2012-1-2 16:03
三元运算符中的 : 运算时会强制转换,类型与:前边那个 类型要一致。System.out.println(true ? x : 0) 这个x是char型 0 就转换为char;而System.out.println(false ? i : x)中i是int 所以x的char转换为int 就是88了。
作者: 想好了再写    时间: 2012-1-2 16:06
当不同数据类型的数据参加运算的时候,会涉及到不同的数据类型的转换问题:

  Java语言数据类型的转换基本上按照下面的规则进行:

  如果其中一个运算对象是double类型的,另一个也会被转换成double类型。

  否则,如果其中一个运算对象是float类型的,另一个也会被转换成float类型的。

  否则,如果其中一个运算对象是long类型的,另一个也会被转换成long类型的。

  否则,如果其中一个运算对象是int类型的,另一个也会被转换成int类型的。

  否则,如果其中一个运算对象是short类型的,另一个也会被转换成short类型的。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2