本文已参与「新人创作礼」活动,一 起开启掘金创作之路。
| 数据类型 | 关键字 | 占用字节 | 取值范围 | 关键字 |
|---|---|---|---|---|
| 布尔值 | boolean | 不定值 | true,false | false |
| 字节型 | byte | 1 | -128 ~ 127 | 0 |
| 短整型 | short | 2 | -32768 ~ 32767 | 0 |
| 整型 | int | 4 | -2147483648 ~ 2147483647 | 0 |
| 长整型 | long | 8 | -9223372036854775808 ~ 9223372036854775807 | 0 |
| 字符型 | char | 2 | 0~65535 | '\u0000' |
| 单精度浮点型 | float | 4 | -3.402823466E+38F ~ 3.402823466E+38F | 0.0F |
| 双精度浮点型 | double | 8 | -1.79763913486231570E+308 ~ 1.79763913486231570E+308 | 0.0D |
用法举例
// 数值类型
byte b = 10; // 占用一个字节
short s = 10; // 占用两个字节 在实际开发中使用较少
int i = 10; //占用4个字节
long lon = 100L; //占用8个字节
float f = 10.98F; //占用4个字节
double d = 10.123456D; //占用8个字节
char c = 'A'; //占用两个字节
boolean bool = true; //占用字节不确定
基本数据类型转换
自动类型转换:
容量小的类型自动转换成容量大的数据类型。 byte、short、int,它们三者在计算时会转成int类型 如果把int值转换成float值,或者long转换成double值,不需要强制转换,但可能丢失精度
强制类型转换:
容量大的数据类型转换成容量小的数据类型时,要加上强制类型转换符。 例:
short b = 10;
short a = 1;
a = (short)(a+b)
long n = 100L;
int i = (int)n;
-
精确值(byte、char、short、int、long)转化成相似值(float、double)时有可能造成精度降低或者数据溢出,使用时要小心。
-
boolean类型不能转化成任何其他数据类型。