数据类型转换

数据类型转换

注意点:

  1. 不能对布尔值进行转换

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

  3. 在把高容量类型转换到低容量类型时,需要采用强制转换

    格式:(类型)+变量名

  4. 转换的时候可能存在内存溢出,或者精度问题

     

    代码:

public class Demo03 {
  public static void main(String[] args) {
      //加了()的转换叫强制类型转换
      //强制转换 (类名)变量名
      //自动转换 低----高
      int i = 128;
      byte b = (byte)i; //内存溢出
      System.out.println(i);
      System.out.println(b);
      //自动转换
      long l = i;
      System.out.println(l);
      //精度问题
      System.out.println((int)45.7); //输出结果45
      System.out.println((int)-33.55f); //输出结果-33

      char c = 'a';
      int i1 = c+1;
      System.out.println(i1); //输出结果98
      System.out.println((char) i1); //输出结果b

      System.out.println("////////////////");
      //操作比较大的数的时候,注意溢出问题
      //jdk7新特性,数字之间可以用下划线分割
      int money = 10_0000_0000;
      int years = 20;
      int total = money*years;
      System.out.println(total); //输出结果-1474836480,计算的时候溢出了

      long total1 = money*years; //默认是int类型,转换之前就已经存在问题,此时转换不了了

      long total2 = money*((long)years);//先把一个数转换成long,java默认选择范围大的
      System.out.println(total2);//输出结果20000000000 成功转换类型,完成计算

  }
}
posted @ 2021-02-23 17:14  恶的反思  阅读(37)  评论(0)    收藏  举报