首页 > 其他 > 详细

编译器的两个优化点

时间:2020-07-18 09:31:59      阅读:40      评论:0      收藏:0      [点我收藏+]

 对于byte/short/char 三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char)

   

1,如果没有超过左侧的范围,编程器补上强制转。

2,如果右侧超过左侧范围,那么直接编译器报错。

  

 

 

 

public class DemokNotice{

   //右侧确实是一个int 数字,但是没有超过左侧的范围,就是正确

   //int -->byte, 不是自动类型转换。

byte num1 = /*(byte)*/  30;         //右侧没有超过左侧的范围。

sout。。。。。(num1); //30

 

 //byte num2 = 128;    //右侧超过了左侧的范围。

// int --> char,  ,没有超过范围。

// 编译器将会自动补上一个隐含的(char)

char zifu = /*(char)*/   65;

sout ...............(zifu); //A

 

 

 

}

编译器的两个优化点

原文:https://www.cnblogs.com/feng---/p/13334142.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!