java Day04-1

类型转换

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

  • 低到高

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

  • 案例1

    public class Demo05 {
        public static void main(String[] args) {
            int i = 128;
            byte b = (byte)i; //内容溢出
    
            // 强制转换  (类型)变量名  高--低
    
    
            System.out.println(i);
            System.out.println(b);
    
    
            System.out.println("=========================");
            // 自动转换  低--高
            int i1 = 128;
            double b1 =i1; //内容溢出
    
            System.out.println(i1);
            System.out.println(b1);
    
            /*
            * 注意点:
            * 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);
    
        }
    }
    
  • 答案1

128

-128

================

128

128.0

================

23

-45

================

98
b

  • 案例2

    public class Demo06 {
        public static void main(String[] args) {
          //操作比较大得数的时候,注意溢出问题
          //JDK新特性,熟悉之间可以用下划线分割
            int money = 10_0000_0000;
            int years = 20;
            int total = money * years;//-1474836480,计算的时候溢出
            long total2 = money * years; //默认int,转换之前已经存在问题
    
            long total123 = money *((long) years); //先把一个数转换为Long
    
            System.out.println(money);
            System.out.println(total);
            System.out.println(total2);
            System.out.println(total123);
    
            //转换用L 尽量不用l
        }
    }
    
    
  • 答案2

    1000000000
    -1474836480
    -1474836480
    20000000000

posted @ 2026-03-27 14:38  固执的小织女  阅读(3)  评论(0)    收藏  举报