数据类型的转换
课程代码:
1 public class Demo05 { 2 public static void main(String[] args) { 3 int i = 128; 4 byte b = (byte)i; // 内存溢出 5 double b1 = i; 6 7 // 强制转换 (类型)变量名 高--低 需要强制转换 8 // 自动转换 低--高 不需要强制转换 9 10 System.out.println(i); 11 System.out.println(b); 12 System.out.println(b1); 13 14 /** 15 * 注意点: 16 * 1:布尔值不能转换 17 * 2:不能把对象转成不相干的类型 18 * 3:高容量到低容量,需要强制转换。转换时有可能存在内存溢出的问题。 19 */ 20 System.out.println("============="); 21 System.out.println((int)23.7); // 23 22 System.out.println((int)-45.69f); // 45 23 System.out.println("============="); 24 25 char c = 'a'; 26 int d = c + 1; 27 System.out.println(d); // 98 Unicode 28 System.out.println((char)d); //b 29 } 30 }
1 public class Demo06 { 2 public static void main(String[] args) { 3 //JDK7特性 数字之间可以用下划线分割,但是不输出下划线 4 int money = 1000000000; 5 int money1 = 10_0000_0000; 6 System.out.println(money); // 1000000000 7 System.out.println(money1); // 1000000000 8 System.out.println(money == money1); // true 9 10 int years = 20; 11 int total = money*years; 12 System.out.println(total); // -1474836480 内存溢出了 13 long total3 = money*((long)years); //先把其中一个数值转换成long 14 System.out.println(total3); // 20000000000 15 16 } 17 }
注意点:
1:高容量到低容量转换时,要强制转换(涉及内存溢出的问题)。反之,不用强制转换。
2:JDK7以后,数字可以用下划线分割(有利于阅读?)。
例:
int money = 1000000000; int money1 = 10_0000_0000;

浙公网安备 33010602011771号