类型转换

类型转换

  • 运算中,不同类型的数据要转换成同一类型,然后进行运算

  • Java是强类型语言,进行某些运算时要类型转换

  • 低到高:byte,short,char—>int—>long->float—>double

强制转换

  • 转换格式:(类型)变量名或数据 由高到低

自动转换

  • 由低转向高不需要转换

注意事项:

  1. 不能转化布尔值boolean

  2. 不能把对象类型转化为不相干的类型

  3. 在高容量转化为低容量时可能出现内存溢出问题

  4. 转化时可能出现精度问题(浮点数转化为整数时)

 

 

 public static void main(String[] args) {
       int a1= 128;//128让byte内存溢出
       byte a2 = (byte) a1;//强制转换 (类型)变量名或数据 高转化为低
       float a3=a1;//自动转化 低到高
       double a4=22.3;
       System.out.println(a2);
       System.out.println(a3);
       System.out.println((int)a4);
       System.out.println("=========================================");
       //溢出问题如何解决
       int b=1_0000_00000;//在数字里加下划线不影响 jdk7的新特性
       int b1=20;
       long sum=b*b1;//在转换为long型前已经运算完成int型
       long sum1=b*((long)b1);//转化为long型再运算
       System.out.println(sum);
       System.out.println(sum1);
       /*
       注意事项:
       1.不能转化布尔值boolean
       2.不能把对象类型转化为不相干的类型
       3.在高容量转化为低容量时可能出现内存溢出问题
       4.转化时可能出现精度问题(浮点数转化为整数时)
        */
  }
}

-128
128.0
22
=========================================
//溢出问题:
-1474836480
20000000000

 

posted @ 2021-02-21 22:38  kang_dg  阅读(54)  评论(0)    收藏  举报