黑马程序员技术交流社区
标题:
三元运算符中表达式1与表达式2之间的数据类型自动提升问题
[打印本页]
作者:
欧阳宇
时间:
2015-4-29 17:48
标题:
三元运算符中表达式1与表达式2之间的数据类型自动提升问题
class OperateDemo
{
public static void main(String[] args)
{
int num = 60;
//获取60的最低4位,通过&15;
int n1 = num & 15;
System.out.println((char)((n1>9)?(char)(n1-10+'A'):n1));
//要获取下一组四位,将60右移4位。
int temp = 60 >>> 4;
// 对temp的值进行最低四位的获取
int n2 = temp & 15;
System.out.println((n2>9)?(char)(n2-10+'A'):n2);
}
}
因为三元运算表达式1与表达式2之间有自动类型提升的存在,故第一个输出语句中虽然表达式1前面加了个强制char类型转换,输出的结果仍然是67。
作者:
下一页5
时间:
2015-4-29 19:07
还没想到这个
作者:
柒夜
时间:
2015-4-29 20:49
还没西湖一到这个问题
作者:
魔心邪
时间:
2015-4-29 21:56
这个也能行,三元不常用到啊
作者:
黄文昭
时间:
2015-4-29 22:18
很经典!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2