数值之间的转换表
显
代表需要显式转换,隐
代表可以隐式转换。X
代表自己本身。
form->to | byte | short | int | long | float | double |
---|---|---|---|---|---|---|
byte | X | 隐 | 隐 | 隐 | 隐 | 隐 |
short | 显 | X | 隐 | 隐 | 隐 | 隐 |
int | 显 | 显 | X | 隐 | 隐 | 隐 |
long | 显 | 显 | 显 | X | 隐 | 隐 |
float | 显 | 显 | 显 | 显 | X | 隐 |
double | 显 | 显 | 显 | 显 | 显 | X |
测试结果所用的程序
//变量声明
byte byteNumber = 123;
short shortNumber = 12345;
int intNumber = 123456789;
long longNumber = 21212212L;
float floatNumber = 123456789.1234f;
double doubleNumber = 123456789.1234d;
//form byte----------------------------------
short byte2short = byteNumber;
int byte2int = byteNumber;
long byte2long = byteNumber;
float byte2float = byteNumber;
double byte2double = byteNumber;
//form short----------------------------------
byte short2byte = (byte) shortNumber;
int short2int = shortNumber;
long short2long = shortNumber;
float short2float = shortNumber;
double short2double = shortNumber;
//form int-------------------------------------
byte int2byte = (byte) intNumber;
short int2short = (short) intNumber;
long int2long = intNumber;
float int2float = intNumber;
double int2double = intNumber;
//form long-----------------------------------
byte long2byte = (byte) longNumber;
short long2short = (short) longNumber;
int long2int = (int) longNumber;
float long2float = longNumber;
double long2double = longNumber;
//form float---------------------------------
byte float2byte = (byte) floatNumber;
short float2short = (short) floatNumber;
int float2int = (int) floatNumber;
long float2long = (long) floatNumber;
double float2double = floatNumber;
//form double-------------------------------
byte double2byte = (byte) doubleNumber;
short double2short = (short) doubleNumber;
int double2int = (int) doubleNumber;
long double2long = (long) doubleNumber;
float double2float = (float) doubleNumber;