Java基础05

类型转换

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

  • 低  -------------------------------->高  
    byte,short,char->int->long->float->double
  • 运算中,不同类型的数据先转化为同一类型,然后进行预算。

 

  • 强制类型转换

  • 自动类型转换

 

代码

public class Dome05 {
   public static void main(String[] args) {
       int 128;
       byte = (byte)i;   //内存溢出 超过byte的范围
       //强制转换 (类型)变量名 高————低
       //自动转换 低————高
       double i;//自动转换

       System.out.println(i);
       System.out.println(b);
       System.out.println(c);

       /*
       注意点:
       1. 不能对布尔值进行转换
       2. 不能把对象类型转换为不相干的类型
       3. 在把大容量转换到低容量的时候,强制转换
       4. 转换的时候可能存在内存溢出,或者精度问题!
        */
       System.out.println("=====================");
       System.out.println((int)12.2);//精度问题
       System.out.println((int)-99.99);//精度问题

       System.out.println("=====================");
       char 'a';
       int d+1;
       System.out.println(e);
       System.out.println((char)e);//高转低 int转成char


  }

}

 

public class Demo06{
   public static void main(String[] args) {
       //操作比较大的数的时候,注意溢出问题
       //jdk7新特性,数值之间可以用下划线分割
       int money 10_0000_0000;//下划线不会被输出
       int years 100;
       int total =money*years;//1215752192,计算的时候溢出了
       long total2 =money*years;//默认是int,转换之前已经存在问题了!
       System.out.println(total);
       System.out.println(total2);
       long total3 =money*((long)years);//计算前先把一个数转换成long
       System.out.println(total3);

       //L l L都用大写来表示

  }
}
posted on 2021-09-14 21:35  此用户已离线  阅读(103)  评论(0)    收藏  举报