数据类型的作用就是决定程序在运行阶段给变量分配多大的内存空间。
在java中基本数据类型分为四类八种:
第一类:整数型:byte,short,int,long
第二类:浮点型:float,double
第三类:字符型:char
第四类:布尔型:boolean
既然数据类型是为了程序在运行阶段给变量分配内存空间的,那么上述每一种数据类型所占内存空间的大小又是多大呢?
计算机内存容量单位换算:
1byte = 8bit
1KB = 1024byte
1MB = 1024KB
1GB = 1024MB
1TB= 1024GB
八种基本数据类型的详细信息:
通过上表可以看到八种基本数据类型中 byte占用1个字节,short占用2个字节 ,int 占用4个字节,long占用8个字节,float占用4个字节,double占用8个字节,char占用2个字节,boolean( 官方没有明确给出规定)。
注意:
整型和浮点型都是带有符号的。
整型默认为int型,浮点型默认为double。
计算机只能识别由1和0组成的二进制序列。
接下来说明一下byte类型的取值范围,为什么最大值只能取到127
同理可得到 short int long float double char 的取值范围。
接下来用代码验证数据类型所对应的范围:
// short型变量所能表示的范围:
System.Out.println(Short.MIN_VALUE); //-32768
System.Out.println(Short.MAX_VALUE); // 32767
//int型数据类型表示的范围:
System.Out.println(Integer.MIN_VALUE); //int能够表示的最大值
System.Out.println(Integer.MAX_VALUE); //int 能够表示的最小值
其他数据类型同理:找到它们所对应的包装类型去调用相应的属性就可以得出范围(包装类类型不属于基本数据类型,这里是方便演示)
整型详解:
整型数据在java中有四种表示方式,分别是二进制,八进制,十进制,十六进制。二进制已0b开始,八进制由0~7的数字组成,十进制由0~9的数字组成,十六进制以0x开始。
二进制:0b10, 0b11
八进制:0,1,2,3,4,5,6,7,10,12
十进制:0,1,2,3,4,5,6,7,8,9,10,11
十六进制:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
接下来分别输出一个:二进制,八进制,十进制,十六制,这里用代码演示:
public class DataTypeTest {
public static void main(String[] args) {
System.out.println("二进制:" + 0b10); //2
System.out.println("八进制:" + 010); //8
System.out.println("十进制:" + 10); //10
System.out.println("十六进制:"