强制转换与自动转换

由于Java是强类型语言,要进行有些运算的时候,需要用到类型转换。

容量低到高依次为

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

强制转换:容量高到低,用法:(类型)变量名

自动转换:容量低到高

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

注意点:

1、不能把布尔值进行转换

2、不能把对象类型转换为不相干的类型

3、高容量转换到低容量,需要用强制转换

4、转换的时候可能存在内存溢出,或者精度问题

5、进行运算时,有long为long,没long为int。可通过强制转换的报错信息查看当前属于哪种类型。

 //JDK7新特性,数字之间可用_,不会影响数值 
int money = 10_0000_0000;
 int year = 20;
 int total1 = money*year;
 long total2 = money*year;
 long total3 = money*(long)year;
 System.out.println(total1); //-1474836480
 System.out.println(total2); //-1474836480
 System.out.println(total3); //20000000000
 
posted @ 2022-05-16 23:20  浅枫  阅读(60)  评论(0编辑  收藏  举报