Java运算时的类型转换
在Java运算时,不同的数据类型之间可以进行加减乘除的预算;但是,不同类型的数据需要先转换为同一类型才能够运算
- 强制类型转换
从字节大小排序数据类型我们可以得到以下排序
低———————————————————高
byte、short、char、int—long—float—double
以上排序中,浮动数是要优先于整数的
在数据类型相互转化中,会涉及到各数据类型的范围不一致,例如将 int 转换为 byte 型,属于大范围转小范围,需要用到强制转换的方式
int A=888;
byte B=(int)A;
//将int类型的变量A值转化成byte类型属于高容量向低容量转换;则需要用到强制转换;(类型)变量名
long C=88888888888888L;
int D=(int)c;
//将ilong类型的变量C值转化成int类型属于高容量向低容量转换;同样需要强制转换
-
自动转换
当高容量向低容量转换时,将会自动转换
int num1=888; //num1为int类型 double num2=num1;//num2为double类型 int-double 属于低-高,自动转化 //输出值为888.0; 888自动转换为888.0
-
数据转换时需要注意的是
- 不能对布尔值进行转换,布尔值是定义是非的类型;
- 不能将不同类型的对象(变量)进行转换;
- 强制转换可能会出现精度不够、内存溢出的情况
- byte、short、char类型放入int类型时会自动转为int类型;而int类型放入long类型进行计算时,若计算结果超出int自身容量,将不会转换为long型
如何解决在long类型中int变量运算后超出自身容量而不能自主变化为long类呢?
标签:类型转换,Java,运算,int,Day05,long,类型,转换,byte From: https://www.cnblogs.com/CQliuwei/p/16869038.html