此题中 l 表示1的数据类型为long , 此题是计算int型 + long型 , 结果是long型 , println打印时long型转化为字符串类型 , 所以答案是12.
- 在数学计算中, 范围小得数据类型可以自动变为数据范围大的数据类型
- 数据范围大的数据类型只有强制转换才能转为数据类型小的数据类型
大的数据类型转为小的类型, 必须强转, 但有时会丢失内容
比如 :
long num = 2147483648L;
int result = (int) num;
数据类型 | 字节 | 数据范围 |
boolean | 1 | true / false |
byte | 1 | [ -128~127 ] -2^7~2^7-1 |
short | 2 | [ -32768~32767 ] -2^15~2^15-1 |
char | 2 | [ 0~655351 ] 0~2^16-1 |
int | 4 | [ -2147483648~2147483647 ] -2^31~2^31-1 |
float | 4 | 32位IEEEE 754单精度范围 |
double | 8 | 64位IEEE 754双精度范围 |
long | 8 | [ -9223372036854774808~9223372036854774807 ] -2^63~2^63-1 |