Java中基本数据类型一共有4类8种:



2 整数类型



Java整数类型一共有4种, 用于存储各个范围的整数:



整数类型只能存储整数,不能存储小数,小数需要采用float或者double类型存储。



2.1 byte 类型



byte类型也称为字节类型, 是Java中最小数据类型,其内部是8位2进制数字。有效数值范围:-128~127。由于有效范围很小,其用途也是很有限。一般用来表示内存中或者文件中的最小存储单元。



提示:2进制知识在后续的一个独立课程单元中讲解。



案例:



byte max = Byte.MAX_VALUE; //最大值



byte min = Byte.MIN_VALUE; //最小值



System.out.println(max);



System.out.println(min);



byte b = 120;



System.out.println(b);



byte b1 = 128; //编译错误,不能超过 byte 范围



Byte 是Java提供的包装类API, 在API课程阶段会详细讲解其功能。



2.2 short 类型



short类型是Java中存储整数数据范围较小的数据类型,内部是一个16位2进制数字,其有效范围-32768~32767,由于其范围小,在程序中很少使用。Java的设计者为了保持与传统C语言兼容而设计了short数据类型。



除了考试时候能够遇到short类型,实际开发中极少使用short类型。



由于short占有16位2进制数,其长度恰巧数byte类型2进制数的两倍,也称一个short数据占有2字节



案例:



short max = Short.MAX_VALUE;



short min = Short.MIN_VALUE;



System.out.println(max);



System.out.println(min);



short s = 12000;



System.out.println(s);



short s1 = 32777; //编译错误,32777 超过short范围



与Byte类似Short也是包装类,在后期课程中详细讲解Short包装类的用途



2.3 int 类型



int类型是Java中最常用的整数类型,在计算机内部是一个32位2进制数字,范围是-2147483648 ~2147483647。这个范围非常实用,可以涵盖大多数整数用途,所以int用途最多最广。



因为int在内存中的2进制数字是32位数,其2进制位长度是byte类型长度的4倍,也称int在内存中占有4个字节。



整数直接量



int整数使用事项:



l直接给出的整数常数称为整数“直接量”,Java所有整数“直接量”都是int类型。“整数直接量”不能超过int范围。



¡默认的整数直接量是 10进制 直接量,数字:0123456789



¡使用0x开头的直接量是 16进制 直接量,数字:0123456789abcdef



¡使用0开头的直接量是 8进制 直接量,数字:01234567



¡使用0b开头的直接量是 2进制 直接量,数字:01



l整数不能存储小数。



l整数计算结果也是整数,并且除法结果是整除结果



l整数计算时如果超过整数范围会自动溢出,溢出时候不会报错误。



¡要了解整数范围,预估计算结果,如果可能溢出就更换为long类型计算。



整数“直接量”也称为整数“字面量”,都是指直接给出的整数常数。



16进制、8进制、2进制和10进制的关系,在后面2进制课程中专门讲述。



案例:



int max = Integer.MAX_VALUE;



int min = Integer.MIN_VALUE;



System.out.println(max);



System.out.println(min);



int a = 1000000; //10进制



int b = 0xef12ab; //16进制



int c = 0123; //8进制



int d = 0b1110111 //2进制



System.out.println(a);



System.out.println(b);



System.out.println(c);



System.out.println(d);



int e = 0128; //超过范围 0~7



int f = 0x13efk;//超过范围 0~9 a~f



int g = 0b12 //超过范围



//int 类型除法计算结果是整除结果



int n = 7/2;



System.out.println(n);



//int 计算时候超过范围会溢出



int m = max + 1; //溢出为最小值



System.out.println(m);



最大值加1溢出为最小值的原理会在2进制课程中讲解。