数据类型的转换

2018-06-01  本文已影响0人  Future石

数据类型的转换分为自动转换和强制转换

总结:由于编译时转化成二进制时,不同数据类型的二进制长度不同会导致无法正常编译。

自动转换

变量在做计算的时候有出现溢出的情况,这个时候小的数据类型会自动向大的数据类型转换

byte, short,char,float都可以出发自动转换

class Test1{
          public static void main (String[] args){
                    byte    a = 12;
                    byte a1 = 2+3;
                    int  b = a+2;
// b必须采用int类型,因为可能存在溢出的情形 short,char,都是这种情况
// 单精度之间的运算不需要转换,整数和小数运算,转换成对应的精度
                    float x = 2.1;
                    float y = 4.2;
                    float z = x + y; 
                    folat q = x*y;
                    System.out.println(b+","+z+","+q)
// 单精度和双精度运算自动转化到double
                    double d1 = 2.3;
                    double  re = x+d1;
                     System.out.println(re);
        }
}

强制转换

语法:(目标数据类型) 变量名
总结:二进制上进行字节的增减,要转换的变量的值如果超过目标类型的最大值,则会损失精度

class Test2{
          public static void main (String[] args){
                     int   k=30;
                     short  s = (short)k;
                     byte b = (byte) k;
                     System.out.println(s); 
                     System.out.println(k) ;
     
// 小数取整               
                     float f=12.33f;
                     int n = (int)f;
                     System.out.println(n);
                        
           }
}

上一篇 下一篇

猜你喜欢

热点阅读