整数类型有byte、short、int、long四种类型,用于需要不同存储空间的数据使用。整数类型有正整数和负整数之分,在Java语言中,规定整型的最高位为符号位,最高位为“0”表示正数,最高位为“1”表示负数,其它位表示数值。因此整型类型的数据能够表示的最小值为:-2^n-1 —2^n-1-1(n为该类型所占存储空间的二进制位数)。
其中,byte占用一个字节的存储空间,可表示的最小数值为-128,最大数值为127;
short占用二个字节的存储空间,可表示的最小数值为-32768,最大数值为32767;
int占用四个字节的存储空间,可表示的最小数值为-2147483648,最大数值为2147483647;
long占用四个字节的存储空间,可表示的最小数值为-9223372036854775808,最大数值为9223372036854775807。
整型变量可按如下方式声明:
public int pageNumber; long population; byte age; short readCount;
在一条语句中,可以声明多个同一类型的整型变量,每个变量之间用英文逗号分隔:
int pageNumber, likeNumber,readCount;
整型变量可按如下方式初始化:
int pageNumber=230; byte age = 21; short readCount=1260;
在初始化变量或为变量赋值时,常常会用到一些数值,这些值通常称为常量。Java语言中整型常量有三种不同的表示形式:十进制、八进制和十六进制。
① 八进制整型常量:在八进制数值前面加前缀数字0,其数码取值为0—7,例如:023、0457、01329等;
② 十六进制整型常量:前缀为“0X”或“0x”,数码取值为0—9、A—F、或a—f。例如:0X2A、0XA0、0Xffff等;
③ 十进制整型常量:既无前缀也无后缀。例如:236、56、7890等。
整数类型常量声明:
final int ERRORCODE = 0X1; final int SUCESSCODE = 0X0; final byte Key = 32;
当整型数据数值大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生上溢或下溢,且不是预期的运行结果,这种现象称为溢出。
案例1:在eclipse下新建项目PBaseUnit46,创建包unit46,在unit46包下创建OverFlow类,在main方法内声明局部变量num,初始化num的值为9021467483647,该值已经超出int类型的存储范围,使用println方法输出num的值到控制台。代码如下:
/**
* @Title: OverFlow.java
* @Package unit46
* @Description: Java基础知识课程案例
* @author 编程训练营
* @date 2019年11月30日
* @version V1.0
*/
package unit46;
/**
* @ClassName: OverFlow
* @Description: 基本数据类型(整数类型)案例1
* @author 编程训练营
* @date 2019年11月30日
*
*/
public class OverFlow {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
* @return void 返回类型
* @throws
*/
public static void main(String[] args) {
/**
* 声明局部变量num,数据类型为int
* num的值超出int类型存储的范围
* num发生溢出,Java编译器报错
*/
int num = 9021467483647;
System.out.println("num=" + num);
}
}报错窗口如下图所示:
案例2:在PBaseUnit46项目unit46包下创建IntegerSample类,在IntegerSample类下分别声明width、height静态变量并赋值,变量的类型为int,然后输出width与height的值到控制台。代码如下:
/**
* @Title: IntegerSample.java
* @Package unit46
* @Description: Java基础知识课程案例
* @author 编程训练营
* @date 2019年11月30日
* @version V1.0
*/
package unit46;
/**
* @ClassName: IntegerSample
* @Description: 基本数据类型(整数类型)案例2
* @author 编程训练营
* @date 2019年11月30日
*
*/
public class IntegerSample {
// 声明静态变量width
static int width = 30;
// 声明静态变量height;
static int height = 20;
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
* @return void 返回类型
* @throws
*/
public static void main(String[] args) {
// 输出静态变量width的值
System.out.println("静态变量width的值为:" + width);
// 输出静态变量height的值
System.out.println("静态变量height的值为:" + height);
}
}程序执行结果如下图所示:
