加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

大话Java混合运算规则

发布时间:2020-12-14 22:20:00 所属栏目:Java 来源:网络整理
导读:重要规则: //byte short char 做混合运算时,先各自转换为 int 类型,再做运算 //以下在编译期就出错,因为编译器只检查语法,jvm不允许 int 转换为 byte(丢失精度),虽然结果为30,但是运算是在运行期 byte a = 10; short b = 20; byte c = (a + b); //

重要规则:

//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;

重要语法:

扩展运算符不改变运算结果类型:

byte a = 10;
a += a; //相当于 a = (byte) a + a;

总结

以上就是本文关于大话Java混合运算规则的全部内容,希望对大家了解Java有所帮助。感兴趣的朋友可以参阅:Java语言一元运算符实例解析 、 浅谈Java变量赋值运算符及相关实例  、 Java大数字运算之BigInteger 等,有什么问题可以随时留言,大家一起交流学习。感谢朋友们对编程小技巧网站的支持。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读