hello,大家好,今天,小白将继续分享。如果我说的有什么不妥之处,恳请大佬们指出来。如果大家觉得我写的不错,就给我点个赞鼓励一下,小白在此谢谢各位了。
上篇文档写了8种基本数据类型及一些注意事项,感兴趣的可以去看看。本文继续写关于java基本数据类型的一些问题。
一、数据类型的转换
数据类型的转换分为两种:自动类型转换和强制类型转换。
1.自动类型转换
整型,浮点类型,和字符类型的数据可以进行混合运算,进行运算时,不同类型的数据会先自动转化为同一种数据类型,然后进行运算。这种叫自动类型转换,其按照优先关系,进行数据类型转换,是不会造成数据精度的损失的。
优先关系如下,按照从低到高进行排列:
byte--->short--->char--->int--->long--->float--->double
当我们把级别低的变量的值赋值给级别高的变量时,系统会自动完成数据类型的转换。例如:
int x=100;
float y;
y=x;
如果输出y的值,将会输出100.0。
2.强制类型转换
当我们把级别高的变量的值赋值给级别低的变量的时候,必须使用类型转换运算,这就是强制类型转换。其格式如下:
(类型名)要转换的值;
例如:
float x=77.23;
int y=(int)x;
long z=(long)33.66f;
如果输出y和z的值的话,分别为77和33.强制类型转换可能会导致精度的损失。
此外,当我们把一个整数赋值给byte/short/int/long类型的变量时,不要超出这些变量的取值范围,否则必须进行类型转换。例如:
byte x=(byte)128;
byte y=(byte)(-129);
输出x和y的值,分别为127和-128。
今天先写到这里吧,下一篇写表达式。