Java基础语法(二)

基础语法(二)

数据类型

Java的数据类型分为

类型转换

类型转换分为强制转换和自动转换

运算时,根据字节大小(容量)由低到高为:

byte、short、char→int→long→float→double

强制转换 (类型)变量名 高→低
自动转换

注意点:

1.不能对布尔值进行转换

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

3.在把高容量转换到低容量的时候,强制转换

char a='A';
int b=a+1;
System.out.println(b);//自动转换
System.out.println((char)b);//强制转换

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

int x=128;
byte y=(byte)x;
System.out.println(y);//内存溢出

输出结果为-128,byte的取值范围在-128~127,内存溢出

System.out.println((int)23.1);
System.out.println((int)-145.62F);//精度问题

输出结果为23 -145,出现精度问题

补充

操作比较大的数的时候,注意溢出问题

int money=10_0000_0000;
int years=20;
int total=money*years;
System.out.println(total);//输出-1474836480,计算时溢出
long total1=money*years;
System.out.println(total1);//输出仍是-1474836480,默认是int,转换之前已经出现问题

//先把一个数转换成long类型;先转换,后运算
long total2=money*((long)years);
System.out.println(total2);//转换years,成功输出20000000000
long total3=((long)money)*years;
System.out.println(total3);//转换money,成功输出20000000000
posted @ 2021-02-06 16:23  枳汐  阅读(48)  评论(0)    收藏  举报