学习第11天

类型转换

 

 

  • 自动转换:低---高

  • 强制转换:(类型)变量名 高---低

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

 

posted @ 2021-02-27 16:59  孤烟尽  阅读(28)  评论(0)    收藏  举报