类型转换

类型转换

由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。

      低--------------------------->高

      byte,short ,char-> int -> long-> float -> double

 

运算中,不同类型的数据先转化为同一类型,然后进行运算。

 

强制类型转换

自动类型转换

 

 public class Demo04 {
     public static void main(String[] args) {
         int i = 128;
         byte b = (byte)i;//i=128转换为byte类型 内存溢出
         //强制转换 (类型)变量名 高--低
         System.out.println(i);
         System.out.println(b);
         //自动转换   低--高
         int o = 128;
         double c = o;
         System.out.println(o);//128
         System.out.println(c);//-128
 
         /**
          * 注意点:
          * 1.不能对布尔值进行转换
          * 2.不能把对象类型转换为不相干的类型
          * 3.在把高容量转换到低容量的时候,强制转换
          * 4.转换的时候可能存在内存溢出,或者精度问题!
          */
         System.out.println("====================");
         System.out.println((int) 56.37);//56
         System.out.println((int)-12.56f);//-12   精度问题
 
         System.out.println("====================");
         char c1 ='a';
         int d = c1+1;
         System.out.println(d);//98
         System.out.println((char)d);//b
    }
 }
 public class Demo05 {
     public static void main(String[] args) {
         //操作比较大的数的时候,注意溢出问题
         //JDK7新特性,数字之间可以用下划线分割
         int money = 10_0000_0000;
         int years = 20;
         int total = money*years;//-1474836480 ,计算的时候溢出了
         long total2 = money*years;//-1474836480 ,默认是int,转换之前已经存在问题了?
 
         long total3 = ((long)money)*years;//先把一个数转换成long
         System.out.println(total3);
 
         //程序规范性 L   l
 
    }
 }

 

posted @ 2022-01-20 17:00  为了她  阅读(270)  评论(0编辑  收藏  举报