大话Java混合运算规则

时间:2022-02-19 23:11:37

重要规则:

?
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