1.为什么使用Integer.MAX_VALUE and Integer.MIN_VALUE
- 大多数时候,在竞争性编程中,需要分配变量,数据类型可以容纳的最大值或最小值,但记住如此大而精确的数字是一项困难的工作。
- 因此,Java 有常量来表示这些数字,这样就可以将这些直接赋值给变量,而无需实际键入整个数字。
2. Integer.MAX_VALUE
- Integer.MAX_VALUE 是 java.lang 包的 Integer 类中的一个常量,指定存储 Java 中任何整数变量的最大可能值。
- 实际值是:
2^31-1 = 2147483647
public class Test {
public static void main(String[] args) {
System.out.println("Integer.MAX_VALUE = "
+ Integer.MAX_VALUE);
}
}
Integer.MAX_VALUE = 2147483647
任何整数变量都不能存储超出此限制的任何值。这样做后,内存将溢出并且该值将变为负数。
初始化一个变量值 Integer.MAX_VALUE + 1
public class Test2 {
public static void main(String[] args) {
try {
System.out.println("T初始化一个变量值 Integer.MAX_VALUE + 1");
int N = Integer.MAX_VALUE + 1;
System.out.println("N = " + N);
}
catch (Exception e) {
System.out.println(e);
}
}
}
T初始化一个变量值 Integer.MAX_VALUE + 1
N = -2147483648
3.Integer.MIN_VALUE
- Integer.MIN_VALUE 是 java.lang 包的 Integer 类中的一个常量,指定存储 Java 中任何整数变量的最小可能值。
- 实际值是:
-2^31 = -2147483648
public class Test2 {
public static void main(String[] args) {
System.out.println("Integer.MIN_VALUE = "+ Integer.MIN_VALUE);
}
}
Integer.MIN_VALUE = -2147483648
任何整数变量都不能存储低于此限制的任何值。这样做后,内存将溢出并且该值将变为正数。
初始化变量值 Integer.MIN_VALUE – 1
public class Test {
public static void main(String[] args) {
try {
System.out.println("初始化变量值 Integer.MIN_VALUE – 1");
int N = Integer.MIN_VALUE - 1;
System.out.println("N = " + N);
}
catch (Exception e) {
System.out.println(e);
}
}
}
初始化变量值 Integer.MIN_VALUE – 1
N = 2147483647