先上代码,通过下面代码的执行结果观察
public class Test {
public static void main(String[] args) {
// 2的31次方
int j = (int) Math.pow(2,31);
System.out.println("j的值" + j);
}
}
运行结果:
j的值2147483647
继续修改代码
public class Test {
public static void main(String[] args) {
// 2的31次方
int j = (int) Math.pow(2,32);
System.out.println("j的值" + j);
}
}
运行结果(同上面代码):
j的值2147483647
再次修改代码
public class Test {
public static void main(String[] args) {
int j = 2147483647;
System.out.println("j的值" + (j + 1));
}
}运行结果:
j的值-2147483648
这里是负值,int型最小值
当int的最大值+1后,会变成int的最小值
故:java中int的取值范围是2的32次方,最大值是2的31次方,最小值是负值的2的31次方-1