数据类型的转换

 

课程代码:

 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 }
View Code
 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 }
View Code

 

注意点:

1:高容量到低容量转换时,要强制转换(涉及内存溢出的问题)。反之,不用强制转换。

2:JDK7以后,数字可以用下划线分割(有利于阅读?)。

例:

int money = 1000000000;
int money1 = 10_0000_0000;
posted @ 2021-02-21 20:28  现在开始JAVA  阅读(74)  评论(0)    收藏  举报