Java 两个整数是否都可能有一个大于Integer.MAX_值的数字?

Java 两个整数是否都可能有一个大于Integer.MAX_值的数字?,java,Java,当上述条件变为真时???x的值是多少? Integer.MAX_VALUE=0x7fffffff,我尝试使用十六进制0x8000000的x。但是x现在是负数。Java整数是32位的,任何高于32位数字最大值的值都将被滚动并变为负数。这称为整数溢出 如果您有: int x = ?; if(x > Integer.MAX_VALUE) { System.out.println(x); } x将等于-2147483648,或整数。最小值没有这样的x 从: int:默认情况下,int数据

当上述条件变为真时???x的值是多少?
Integer.MAX_VALUE=0x7fffffff,我尝试使用十六进制0x8000000的x。但是x现在是负数。

Java整数是32位的,任何高于32位数字最大值的值都将被滚动并变为负数。这称为整数溢出

如果您有:

int x = ?;
if(x > Integer.MAX_VALUE)
{
    System.out.println(x);
}

x
将等于
-2147483648
,或
整数。最小值

没有这样的
x

从:

int:默认情况下,int数据类型是一个32位有符号二补整数,最小值为-2^31,最大值为 值为2^31-1

最大32位值等于
0111111111111111111111111111111111111111111


这是一种表示,因此将第一位设置为1将导致一个负数(0x8000000=1000..0000)。因此,您要查找的
x
实际上没有可能的值。

没有这样的
intx
。这是根据
MAX_值的定义
我要问的是,在这种情况下,x值可能是多少。Integer.MAX_值是31-1的2次幂。我重复我说的:
x
(如果
x
int
)的值都不会导致条件
x>Integer.MAX_值
为真。x的可能值满足条件(真)你不明白我在告诉你什么吗?答案是,“这是不可能的。”
int x = Integer.MAX_VALUE;
x += 1;