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> | 详见枚举章节 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javalang/37620.html