### 整数类型

整数类型用来存储整数数值，即没有小数部分的数值。整数类型可以是正数，也可以是负数。整型常量在 Java 程序中有 3 种表示形式，分别为十进制、八进制和十六进制。

l 十进制

十进制是 Java 语言默认的数制，所以使用正常的表示形式，例如，120、0、-127、340。

注意：不能以0作为十进制数的开头（0除外）。

l 八进制

八进制的表现形式以最高位的数字 0 做区分，如果最高位不是 0，那么 Java 将把它解释为十进制，否则解释为八进制。例如，0123（转化成十进制数为 83）、-0123（转化成十进制数为-83）。

说明：八进制的最大单个数字是7，7再加1就是10，它和十进制的8是相等的。八进制的字面量包括“0、1、2、3、4、5、6、7”。例如，0123（转化成十进制数为83）、-0123（转化成十进制数为-83）

注意：八进制必须以0开头。

l 十六进制

十六进制的表现形式是在数的最高位添加“0x”标识，其中“x”字符不区分大小写。例如，0x25(转化成十进制数为 37)、0Xb01e（转化成十进制数为 45086）。

说明：十六进制主要用于二进制的简化表达方式，十六进制的1位数字可以转换成4位二进制数字。超出9的数字在十六进制中以字母表示，其字面量包括“0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F”，其中“A~F”分别代码十进制的“10~15”。例如：0x25(转化成十进制数为37)、0Xb01e（转化成十进制数为45086）

注意：十六进制必须以0X或0x开头。

整型变量根据它在内存中所占大小的不同，可分为 byte、short、int 和 long4 种类型。它们具有不同的取值范围，如表 1 所示。

表 1 整型数据类型

数据类型 | 内存空间（8 位等于 1 字节） | 取值范围
byte | 8 位 | -128~127
short | 16 位 | -32768~32767
int | 32 位 | -2147483648~2147483647
long | 64 位 | -9223372036854775808~9223372036854775807

下面以 int 型变量为例，介绍整型变量的定义格式。

实例 定义 int 型变量，实例代码如下：

int m; //定义 int 型变量 m

int x,y; //定义 int 型变量 x,y

int a = 450,b = -462; //定义 int 型变量 a,b 并赋给初值

在定义以上 4 种类型变量时，要注意变量的值不能超过变量所能接受的最大值与最小值，否则会出现错误。Java 默认的整数类型是 int，如果要标记整数是 long 类型，必须在数字末尾添加字母 L 或 l（小写的 L）。例如 long num = 2147483650L。

说明：在数字末尾添加L或l（小写的L）标识long类型整数，一般都发生在整数大于int最大取值范围时。因为Java默认的整数类型是int。

实例 在项目中创建类 Number，在主方法中创建不同数值型变量，并将这些变量相加，将和输出。

public class Number { //创建类

public static void main(String[] args) { //主方法

byte mybyte = 124; //声明 byte 型变量并赋值

short myshort = 32564; //声明 short 型变量并赋值

int myint = 45784612; //声明 int 型变量并赋值

long mylong = 46789451; //声明 long 型变量并赋值

long result = mybyte+myshort+myint+mylong; //获得各数相加后的结果

System.out.println("结果为："+result); //将以上变量相加的结果输出

}

}

程序行结果如图 1 所示。

图 1 实例的运行结果