Java各基本类型包装类均提供public static final的MAX_VALUE和MIN_VALUE常量,表示其取值范围边界,如Integer.MAX_VALUE=2147483647、Float.MIN_VALUE=1.4e-45(最小正数),Character以Unicode表示,Boolean无此常量。

Java 中每个基本数据类型对应的包装类都提供了 MAX_VALUE 和 MIN_VALUE 两个静态常量,直接通过类名访问即可获取该类型能表示的最大值和最小值。
各包装类的 MAX_VALUE 与 MIN_VALUE 常量
这些常量是 public static final 字段,定义在对应包装类中(如 Integer、Long、Double 等),本质就是该基本类型取值范围的边界值:
- Integer:Integer.MAX_VALUE = 2147483647,Integer.MIN_VALUE = -2147483648
- Long:Long.MAX_VALUE = 9223372036854775807L,Long.MIN_VALUE = -9223372036854775808L
- Short:Short.MAX_VALUE = 32767,Short.MIN_VALUE = -32768
- Byte:Byte.MAX_VALUE = 127,Byte.MIN_VALUE = -128
- Character:Character.MAX_VALUE = '\uffff'(即 65535),Character.MIN_VALUE = '\u0000'(即 0)
- Float:Float.MAX_VALUE ≈ 3.4028235×10³⁸,Float.MIN_VALUE = 1.4e-45(注意:这是最小正数,不是最小负数;最小负数是 -Float.MAX_VALUE)
- Double:Double.MAX_VALUE ≈ 1.7976931348623157×10³⁰⁸,Double.MIN_VALUE = 4.9e-324(同样是最小正数)
使用时的注意事项
直接调用即可,无需实例化包装类。但要注意几个常见误区:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
- Float 和 Double 的 MIN_VALUE 表示的是最小正正规数,不是可表示的最小值(即负数绝对值最大的那个)。若需最小负值,应写为 -Float.MAX_VALUE 或 -Double.MAX_VALUE
- Character 是无符号 16 位整数,所以 MIN_VALUE 是 0,MAX_VALUE 是 65535
- Boolean 没有 MAX_VALUE / MIN_VALUE —— 它只有 true 和 false,不适用数值范围概念
- 这些常量在编译期就确定,可安全用于 switch case、static final 初始化等场景
简单示例代码
以下代码演示常用写法:
立即学习“Java免费学习笔记(深入)”;
System.out.println(Integer.MAX_VALUE); // 2147483647<br> System.out.println(Byte.MIN_VALUE); // -128<br> System.out.println(Double.MAX_VALUE); // 1.7976931348623157E308<br> System.out.println(Float.MIN_VALUE); // 1.4E-45<br> System.out.println(-Float.MAX_VALUE); // -3.4028235E38(实际最小 float 值)
为什么不用基本类型字面量而用包装类常量?
主要为了可读性、可维护性和类型安全:
- 语义明确:Integer.MAX_VALUE 比硬编码 2147483647 更易理解且不易出错
- 避免 magic number:减少重复字面量,统一管理边界值
- 支持泛型和反射场景:例如 Collections.max() 内部会用到这些常量做比较初始化
- 与平台无关:不同 JVM 实现下基本类型范围固定,这些常量始终准确

















