Java基本类型取值范围可通过包装类MIN_VALUE/MAX_VALUE获取,其中float/double的MIN_VALUE是最小正数而非最小负数,char需转int才显示0~65535数值,boolean仅有true/false。

Java 中基本数据类型的取值范围可以通过调用其对应包装类的 MIN_VALUE 和 MAX_VALUE 常量来获取,并用 System.out.println 打印。这些常量是 public static final 字段,定义在每个基本类型对应的包装类中(如 Integer、Long、Double 等)。
各基本类型范围打印示例代码
以下是一段完整可运行的 Java 代码,一次性打印所有 8 种基本数据类型的取值范围:
public class PrimitiveRange {
public static void main(String[] args) {
System.out.println("byte: " + Byte.MIN_VALUE + " ~ " + Byte.MAX_VALUE);
System.out.println("short: " + Short.MIN_VALUE + " ~ " + Short.MAX_VALUE);
System.out.println("int: " + Integer.MIN_VALUE + " ~ " + Integer.MAX_VALUE);
System.out.println("long: " + Long.MIN_VALUE + " ~ " + Long.MAX_VALUE);
System.out.println("float: " + Float.MIN_VALUE + " ~ " + Float.MAX_VALUE);
System.out.println("double: " + Double.MIN_VALUE + " ~ " + Double.MAX_VALUE);
System.out.println("char: " + (int)Character.MIN_VALUE + " ~ " + (int)Character.MAX_VALUE);
System.out.println("boolean: only true or false");
}
}
注意 float 和 double 的 MIN_VALUE 含义
Float.MIN_VALUE 和 Double.MIN_VALUE 表示的是**最小正正规数(即最接近 0 的正数)**,不是负数的下限。真正的最小值(即能表示的最小负数)其实是 -Float.MAX_VALUE 和 -Double.MAX_VALUE。
- 若想查看浮点数的“最小可表示负值”,应写:
-Float.MAX_VALUE和-Double.MAX_VALUE - 若想查看“最小正数”,才用
Float.MIN_VALUE(约 1.4E-45) - 浮点数还有特殊值:±Infinity、NaN,它们不参与大小比较
char 类型需要转为 int 才能显示数值范围
char 是无符号 16 位整数类型,取值范围是 0 到 65535(即 Unicode 基本多文种平面)。但 Character.MIN_VALUE 和 Character.MAX_VALUE 是 char 类型,直接打印会输出对应字符(如 \u0000 和 ),所以需强转为 int 才能看到数字:
-
(int)Character.MIN_VALUE→ 输出 0 -
(int)Character.MAX_VALUE→ 输出 65535
运行结果参考
执行上述代码,典型输出如下(JDK 8+):
byte: -128 ~ 127 short: -32768 ~ 32767 int: -2147483648 ~ 2147483647 long: -9223372036854775808 ~ 9223372036854775807 float: 1.4E-45 ~ 3.4028235E38 double: 4.9E-324 ~ 1.7976931348623157E308 char: 0 ~ 65535 boolean: only true or false
不复杂但容易忽略细节,比如 float/double 的 MIN_VALUE 不是“最小值”,char 不转 int 就看不到数字——动手跑一遍最直观。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











