05、java基础_05、数据类型转换

java基础_数据类型转换

由低到高

byte》short》char》int》long》float》double

运算中不同的数据类型,先转为同一类型,再进行运算

1、强制类型转换,由高到低

int i = 128;

byte b = (byte)i;强制转换为byte类型,转换后会内存溢出。

2、自动类型转换,由低到高

int i = 128;

double b= (double )i;

注意:

1、不能对布尔类型进行转换。

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

3、把大容量转为低容量的时候,需要强制转换。

4、可能存在内存溢出,或精度问题。

 5、运算中,先转换为同一个类型,然后再计算

 

jdk1.7以后,数字可以使用下划线,

int money = 1_2000_0000;

System.out.println((int)-89.55);//强制转换为int

int money=1_0000_0000;
int year=200;
int total1=money*year;
System.out.println("total1="+total1);//total=-1474836480 内存溢出

long total2=money*year;
System.out.println("total2="+total2);//total2=-1474836480,计算时按照int类型内存已经溢出,然后才赋值

long total3=money*((long)year);
System.out.println("total3="+total3);//计算前先转换,然后赋值,计算成功

 

posted @ 2022-07-09 21:14  颓废且努力奋斗的人  阅读(26)  评论(0)    收藏  举报