java基本数据从低到⾼_java基本数据类型之间的转换
基本数据类型之间的相互转换分为两种,分别是⾃动类型转换和强制类型转换。
⾃动类型转换
当需要从低级类型向⾼级类型转换时,java会⾃动完成从低级类型向⾼级类型转换。低级类型是指取值范围相对较⼩的数据类型,⾼级类型是指取值范围相对较⼤的数据类型,如long相对于float是低级数据类型,但是相对于int类型是⾼级数据类型。在基本数据类型中除boolean外均可参与算数运算。
数据类型从低到⾼的排序:
graph LR A[byte] --> B[short] B[short] --> C[char] C[char] --> D[int] D[int] --> E[long] E[long] --> F[float] F[float] -->
G[double]
在算数表达式中含有int、long、float、double型的数据
如果在算数表达式中含有int、long、float、double型的数据,java⾸先会将所有数据类型相对较低的变量
⾃动转换为表达式中数据类型最⾼的数据类型,然后再计算,并且计算结果的数据类型也为表达式中数据类型相对最⾼的数据类型。
例如:
byte b=75;
char c='c';
int i=123;
long l=12345L;
long result=b*c-i+l;
在算数表达式中只含有byte、short、char型的数据
如果在算数表达式中只含有byte、short、char型的数据,java⾸先将所有变量的类型⾃动转换成int型,然后在进⾏计算,并且计算结果的数据类型也为int型。byte、short、char三者之间不能直接相互转换。
byte b=75;
char c='c';
int result=b+c;
java变量的数据类型分为两种强制类型转换
如果需要把数据类型相对较⾼的数据或变量赋值给数据类型相对较低的变量,就必须进⾏强制类型转换。
例如:
int a=(int)7.5;
//a的最终结果为7
byte b=(byte)774;
//b的最终结果6
变量b的值为6,原因是整数774超出了byte型的取值范围,在进⾏强制类型转换时,表⽰整数774的⼆进制数的前24位被舍弃,所有最终赋值为变量b的数据是后8位的⼆进制数。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论