Java的类型转换

类型转换

Java的基本数据类型包括八种:

整数类型(byte,short,int long)

浮点数类型(double,float)

布尔类型(boolean)

字符类型(char)

类型从小到大依次为:

byte   short   int   long   float   double

    (char)

自动(隐式)类型转换

从小类型到大类型,不需要强制转换符

例如:

int a =5;
double b = a;

此处将int类型变量a的值赋值给double类型变量b,因为是小类型转换成大类型,

int类型变量a的值会自动转换成double类型并赋值给变量b

强制类型转换

从大类型到小类型,需要强制转换符实现强制转换

强制转换符:(需要转换成的类型)变量

double a = 3.1415926;
int b = (int)a;

此处将double类型变量a的值赋值给int类型变量b,因为是大类型转换成小类型,

需要强制转换符先将double类型变量a的值转换成int类型再赋值给int类型变量b 。

关于byte、short、char赋值与强转规则:

  1. 不参与运算,整数直接量可以直接赋值给byte,short,char,不需要强转。

  2. byte、short、char型变量参与运算时,需要强转。例如:

byte b1 = 5;
byte b2 = 3;
byte b3 = (byte)(b1+b2);

b1与b2不参与运算,整数直接量可以直接赋值给byte;参与运算后,b1+b2和的值默认为int类型,

需要强制转换成byte类型再赋值给byte类型变量b3。

注意

强转会带来的精度损失



posted @ 2020-10-22 01:33  阴天傍晚车窗外  阅读(63)  评论(1)    收藏  举报