整数类型:
byte:字节占用 1字节 8位,用来表达最小的数据单位,储存数据长度为 正负 127;
short:字节占用 2字节 16位,储存数值长度为 -32768-32767
int:字节占用 4字节 32位,最为常用的整数类型,储存长度为,-2^31-1~2^31 (21 亿)
long:字节占用 8字节 64位,当到达int数值极限时使用,储存长度为 看图片:
浮点数类型:
float:单精度浮点型 32位 取值范围 3.4e-38~3.4e-38
double:双精度浮点型 64位 ,java中默认的浮点类型 取值范围 1.7e-308~1.7e-308
字符类型:
char:16位 ,java字符使用Unicode编码;
布尔类型
boolean : true 真 和 false 假
引用数据类型:
类 class
接口 interface
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进制课程中讲解。