勿进小白

类型转换

java是强类型语言 所以要进行运算的时候 需要用道类型转换

低-----------------------------------------------------------------------高

​ byte,short,char,int,long,float,double

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

强制类型转换

(类型)+变量名 从高------低

int a =128;
byte b = (byte)a; 

输出的b却等于-128 原因是内存溢出

自动转换

变量名 从低--------高

int c= 888;
double e=c;

double 比 int 大 因此不需要加类型名

注意点

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

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

3.在把高容量转换低容量的时候,强制转换 反之便不用

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

System.out.println((int)15.5);
System.out.println((int)-15.88);

第一个输出为15

第二个输出为-15 忽略了小数 精度问题

比较大的数 转换

//操作比较大的数的时候,注意溢出问题
//JDK7新特性,输出之前可用下划线分割
int money =100_000_0000;
int years=20;
int total = moneyyears; //-1474836480 计算的时候溢出
int total3 = money
years; //默认为int,转换之前已经存在问题
long total2= money*((long)years);//先把一个数据转换成long
System.out.println(total2);

posted @ 2020-10-30 21:08  sbman  阅读(29)  评论(0)    收藏  举报