Java类型转化04

类型转化

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

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

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

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

     

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

  • 自动类型转换

             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.59f);      //-45
             System.out.println("==================");
             char c = 'a';
             int d = c+1;
             System.out.println(d);
             System.out.println((char)d);

    运行结果

 

 

         //操作比较大的数的时候,注意溢出问题
         //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 输出20_0000_0000 正确格式
         System.out.println(total3);
 
             //大小写:在数字后面尽量用大写,小写不便于阅读。

运行结果

posted @ 2020-06-12 10:40  辰凌  阅读(107)  评论(0)    收藏  举报