重要规则:
1
2
3
4
5
6
|
//byte short char 做混合运算时,先各自转换为 int 类型,再做运算
//以下在编译期就出错,因为编译器只检查语法,jvm不允许 int 转换为 byte(丢失精度),虽然结果为30,但是运算是在运行期
byte a = 10 ;
short b = 20 ;
byte c = (a + b); //报错
System.out.println(c);
|
结论:
关于基本数据类型转换规则:
1、8中基本数据类型除boolean外都可以相互转换;
2、小容量向大容量转换为自动转换(默认转换):
byte<short<int<long<float<double<char<
3、byte short char 做混合运算时,各自都先转换为 int 类型在做运算;
4、大容量向小容量转换是强制类型转换,需要加强制类型转换符,这样编译器能通过,但运行期可能损失精度;
5、如果整数没有超出 byte short char 的取值范围,可以直接将这个整数赋值给 byte short char;
6、多种数据类型做运算,先转换成容量大的那种再做运算。
eg:
int f = 10/3;能否正常运行?
可以,因为10为int,3为int,运算后还为int,10/3=3,再赋值给f;
重要语法:
扩展运算符不改变运算结果类型:
1
2
|
byte a = 10 ;
a += a; //相当于 a = (byte) a + a;
|
总结
以上就是本文关于大话Java混合运算规则的全部内容,希望对大家了解Java有所帮助。有什么问题可以随时留言,大家一起交流学习。感谢朋友们对服务器之家网站的支持。
原文链接:http://blog.csdn.net/zhangbingtao2011/article/details/54582302