• 由于JAVA是强类型语言,在进行某些运算的时候需要进行强类型转换

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

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

    (小数的优先级一定大于整数)

    public class Demo04 {
      public static void main(String[] args) {
          //强制转换:格式--(类型)变量名;由高转低
          int i = 128;
          byte b = (byte)i;
          System.out.println(i);
          System.out.println(b);//内存溢出
          int i1 = 120;
          byte b1 = (byte)i1;
          System.out.println(i1);
          System.out.println(b1);
          //自动转换:由低转高
          int i2 = 1213;
          double b2 = i2;
          System.out.println(i2);
          System.out.println(b2);
          //精度问题
          System.out.println(13.7);
          System.out.println((int)13.7);
          System.out.println((int)-45.89f);
          //类型转换
          char c = 'a';
          int d = c+1;
          System.out.println(d);//输出了一个int类型的d
          System.out.println((char)d);//输出了一个char类型的d
          System.out.println("==================================================================");
          //====================================================================================================
          //操作比较大的时候要注意溢出问题
          int money = 10_0000_0000;//数字之间可以用下划线分隔,方便阅读
          int year = 20;
          long total = money*year;
          System.out.println(total);//默认是int,转换之前就存在问题了,所以溢出
          long total1 = money*((long)year);//将其中一个数转换为long
          System.out.println(total1);
            /*注意点:
          1.不能对布尔值进行转换
          2.不能把对象类型转换成不相干的类型
          3.转换可能出现内存溢出或者精度问题
            */
      }
    }

 
 
posted on 2022-10-29 14:07  WTT1213  阅读(26)  评论(0)    收藏  举报