码迷,mamicode.com
首页 > 其他好文 > 详细

Notice

时间:2021-06-28 18:30:32      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:not   不用   char   str   数字   优化   表达   rgb   类型转换   


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

1如果右侧没有超过左侧的范围,编译器补上强转。
2如果右侧超过左侧的范围,那么编译器直接报错。

在给变量进行赋值的时候,如果右侧的表达式当中全是常量,没有任何变量,
那么编译器javac将会直接将若干个常量表达式计算得到结果。
这称为编译器的常量优化。
*/
public class Notice{
    public static void main(String[] args){
        //右侧确实是一个int数字,但是没有超过左侧的范围,就是正确的。
        //int --> byet,不是自动类型转换
        byte num1 = /*(byte)*/30;//右侧没有超过左侧范围
        System.out.println(num1);//30
        
        //byte num2 = 128;右侧超过了左侧的范围,编译报错
        
        //int --> char 没有超过左侧的范围编译器将会补上一个隐含的(char)
        char zifu = 65;
        System.out.println(zifu);//A
        
        
        short num3 = 10;
        short a = 5;
        short b = 8;
        //short + short --> int + int -->int 
        //short result = a + b;//错误写法左侧需要的是int类型
        
        short result = 3 + 8;
        System.out.println(result);//右侧不用任何变量,而是采用常量,而且只有两个常量,没有别人
        
        //short result = 5 + a + 8;//错误写法,只有右侧全是常量的时候,编译器自动才会优化,不能有任何变量
    }
}

 

 

 

Notice

标签:not   不用   char   str   数字   优化   表达   rgb   类型转换   

原文地址:https://www.cnblogs.com/langwuzhang/p/14933762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!