2022.2.28数据类型转换
低----------------------------------------->高
1 public class Demo04 { 2 public static void main(String[] args) { 3 int i = 128; 4 byte b = (byte) i; 5 double d = i; 6 System.out.println(i);//128 7 System.out.println(b);//-128 8 System.out.println(d);//128.0 9 10 //强制类型转换 高--->低 11 //自动转换 低--->高 12 13 /*注意点 14 1.不能对布尔值进行转换 15 2.不能把对象类型转换为不想干的类型 16 */ 17 System.out.println("==============================="); 18 System.out.println(23.7);//23.7 19 System.out.println((int)23.7);//23 高---->低 double到int 20 System.out.println((int) -46.89f);//-46 高----->低 float到int 21 22 System.out.println("==============================="); 23 char c = 'a'; 24 int c1 = c + 1; 25 System.out.println(c1);//98 低--->高 26 System.out.println((char)c1);//b 27 28 System.out.println("==============================="); 29 //注意溢出问题 30 //JDK7新特性,数字可以用下划线分割 31 int money = 10_0000_0000; 32 int years = 20; 33 int total = money * years; 34 System.out.println(money);//1000000000 35 System.out.println(total);//溢出了,-1474836480 36 37 long total2 = money * years;//溢出了,-1474836480 38 //先计算,计算结果为int类型,然后再把结果转化为long类型 39 System.out.println(total2); 40 41 long total3 = money * ((long)years);//20000000000 42 System.out.println(total3); 43 44 } 45 }