java8大基本类型以及类型转换
先来看下8大基本类型占用分类以及占用字节数
-
整型、字符类型、boolean类型:
| 类型 | 类型关键字 | 占用字节数 | 取值范围 | 大约值 | 定义方式 |
|---|---|---|---|---|---|
| 整型 | byte | 1 | -2^7~2^7-1 | -128-127 | byte a = 1; |
| 整型 | short | 2 | -2^15~2^15-1 | -32,768~32767 | short a = 1; |
| 整型 | int | 4 | -2^31~2^31-1 | -21亿~21亿 | int a = 1; |
| 整型 | long | 8 | -2^63~2^63-1 | long a = 1L;long a = 1l;(建议用大写L) | |
| 字符类型 | char | 2 | 0 ~ 2^16-1 | 0-65535 | char a = 'a'; |
| boolean类型 | boolean | 1 | true/false | true/false | boolean flag = true;boolean flag = false; |
-
浮点类型:
| 类型关键字 | 占用字节数 | 取值范围 | 定义方式 |
|---|---|---|---|
| float | 4 | [-3.40282346638528860e+38 , -1.40129846432481707e-45] ∪ [1.40129846432481707e-45 ~ 3.40282346638528860e+38] | float a = 0.1F;float a = 0.1f; |
| long | 8 | [-1.79769313486231570e+308,-4.94065645841246544e-324] ∪ [4.94065645841246544e-324,1.79769313486231570e+308] 。 | double a = 0.1; |
除boolean之外的类型,容量排序为:byte<short,char<int<long<float<double,由此可得浮点型容量大于整型。
类型转换方式:强制转换与自动转换
-
强制转换:大容量类型转小容量类型,必须使用强制转换,且容易导致内存溢出和精度问题
-
自动转换:小容量类型转大容量类型,java程序自动进行类型转换。
类型转换注意点:

浙公网安备 33010602011771号