Java 语言的类型分为:原始(primitive)类型 和 引用(reference)类型。
原始类型:整数类型、浮点类型、布尔类型、字符类型。
引用类型:对象类型、类类型、接口类型、字符串类型、数组类型、枚举类型。
1.整数类型
注意:long 类型的数值需要以字母 L(推荐) 或 l(不推荐,因为容易与数字 1 混淆) 结尾。
| 类型 | 范围 | 包装的引用类型 |
byte | Byte.MIN_VALUE ≤ n ≤ Byte.MAX_VALUE | java.lang.Byte |
short | Short.MIN_VALUE ≤ n ≤ Short.MAX_VALUE | java.lang.Short |
int | Integer.MIN_VALUE ≤ n ≤ Integer.MAX_VALUE | java.lang.Integer |
long | Long.MIN_VALUE ≤ n ≤ Long.MAX_VALUE | java.lang.Long |
| 进制 | 描述 |
| 二进制 | 以 0B(零和大写字母B) 或 0b(零和小写字母b) 开头,后续只能包含 数字(0~1)。 |
| 八进制 | 以 0(零) 开头,后续只能包含 数字(0~7)。 |
| 十六进制 | 以 0X(零和大写字母X) 或 0x(零和小写字母x) 开头,后续只能包含 数字(0~9)、字母(A~F 和 a~f)。字母(A~F 和 a~f) 表示 数字(10~15)。 |
为了提高数值的可读性,下划线(_)可以用作分隔符,解析时会被 Java 编译器移除。
//作为千分位分隔符
1_000_000_000
2.浮点类型
注意:float 类型的数值需要以字母 F 或 f 结尾。
| 类型 | 范围 | 包装的引用类型 |
float | ±Float.MIN_VALUE ≤ n ≤ ±Float.MAX_VALUE | java.lang.Float |
double | ±Double.MIN_VALUE ≤ n ≤ ±Double.MAX_VALUE | java.lang.Double |
浮点类型还可以使用科学记数法来表示:一个数值(整数或浮点数)后跟一个大写或小写的字母 e(表示乘以 10),再跟一个前面的乘以 10 的多少次幂。
//十进制形式
5.12
//科学记数法形式
//注意:这是浮点数500.0,而不是整数500。
5e2
//注意:这是浮点数512.0,而不是整数512。
5.12e2
浮点类型还包括五个特殊的值:
| 值 | 描述 | 示例 |
Infinity(正无穷)
-Infinity(负无穷) | 任何无法表示的最大正数或最小负数。 | Float.MAX_VALUE * 2 // Infinity
-Float.MAX_VALUE * 2 // -Infinity |
0.0(正零)
-0.0(负零) | 任何无法表示的最小正数或最大负数。 | 1/Float.POSITIVE_INFINITY // 0.0
-1/Float.POSITIVE_INFINITY // -0.0 |
NaN(Not a Number,非数值) | 在数学运算中,当遇到一些无法运算的情况时,使用 NaN 表示这种情况,而不是抛出错误。 | Float.POSITIVE_INFINITY/Float.POSITIVE_INFINITY // NaN |
关于进制部分,与上述整数类型描述一样。
关于下划线部分,与上述整数类型描述一样。
3.布尔(boolean)类型
| 类型 | 值 | 包装的引用类型 |
boolean | true、false | java.lang.Boolean |
| 类型 | 这些值被认为是 false |
boolean | false |
4.字符(char)类型
| 类型 | 描述 | 包装的引用类型 |
char | 表示由单引号(')包裹的字符或转义序列。 | java.lang.Character |
5.对象(Object)类型
Object 是所有类型的根类型。
| 类型 | 描述 |
java.lang.Object | 详见类章节 |
6.类(Class)类型
| 类型 | 描述 |
java.lang.Class<T> | 详见类章节 |
7.接口类型
8.字符串(String)类型
| 类型 | 描述 |
java.lang.String | 详见字符串章节 |
9.数组类型
10.枚举(Enum)类型
| 类型 | 描述 |
java.lang.Enum<E> | 详见枚举章节 |
11.void类型
| 类型 | 描述 | 包装的引用类型 |
void | 表示方法没有返回值 | java.lang.Void |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javalang/37620.html