int
数据类型是32
位有符号Java原语数据类型。
int
数据类型的变量需要32
位内存。
其有效范围为-2,147,483,648
至2,147,483,647
(-2^31
至2^31 - 1
)。
此范围中的所有整数称为整数文字。
例如,10
,-200
,0
,30
,19
等是int
的整数字面量值。
一个整数字面量可以分配给一个int
变量,如num1
,像这样:
整型字面量
整数字面量也可以表示:
- 十进制数字格式
- 八进制数字格式
- 十六进制数字格式
- 二进制数格式
当整数文字以零开始并且至少有两个数字时,它被认为是八进制数格式。以下代码行将十进制值17
(八进制为021
)分配给num1
:
// 021 is in octal number format, not in decimal
int num1 = 021;
以下两行代码将值17
分配给变量num1
的相同效果:以下值不是以零开始,所以它是十进制数字格式。
int num1 = 17;
以下值是以零开始,因此它是一个八进制数字格式。 八进制中的值021
与十进制中的17
相同。
int num1 = 021;
八进制格式的int
字面值必须至少有两位数字,并且必须以零开始以作为八进制数的表示。数字0
在十进制数格式中被视为0
,并且以八进制数格式将00
视为零。
十六进制数字格式的所有int
字面量都以0x
或0X
开头,它们必须至少包含一个十六进制数字。十六进制数字格式使用16
位数字,0-9
和A-F
(或a-f
)。字母A
到F
的大小写无关。
以下是以十六进制格式使用int
文本的示例:
int num1 = 0x123;
int num2 = 0xdecafe;
int num3 = 0x1A2B;
int num4 = 0X0123;
可以使用二进制数字格式表示一个int
字面量。所有二进制数字格式的int
字面量以0b
或0B
开头。
以下是使用二进制数字格式的int
字面量的示例:
int num1 = 0b10101;
int num2 = 0b00011;
int num3 = 0b10;
int num4 = 0b00000010;
Java有一个名为Integer
的类,它定义两个常量来表示int
数据类型的最大值和最小值,即Integer.MAX_VALUE
和Integer.MIN_VALUE
。 例如,
int max = Integer.MAX_VALUE; // Assigns maximum int value to max
int min = Integer.MIN_VALUE; // Assigns minimum int value to min