勿进小白
类型转换
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 = moneyyears; //默认为int,转换之前已经存在问题
long total2= money*((long)years);//先把一个数据转换成long
System.out.println(total2);

浙公网安备 33010602011771号