在计算机的底层,数据的传输和存储都是通过二进制数来实现的,一个二进制0或1即为1bit,而一个字节Byte占8位,即1byte=8bits。在java中十分重要的是首位是符号位,0为正,1为负。
数据类型包括基本数据类型、引用数据类型和枚举数据类型。
而今天主要说的是基本数据类型,简单来说只有四型八种。下面一一介绍:
一:整数型 byte型 占有一个字节即8个二进制位,由于首位是符号位,所以它的范围是-127~127,而java中由于正0和
负0重复,所以负0表示最小负数,所以范围是-128~127
short型 占有2个字节即16个二进制位,它的范围是(-32768~32767)(-2的15次方到2的15次方-1)
int型 占有4个字节即32个二进制位,范围是(-2147483648~2147483647)(-2的31次方到2的31次方-1)
long型 占有8个字节即64个二进制位,范围是(-9223372036854774808~9223372036854774807)(-2的63次
方到2的63次方-1)
特别提醒在计算机定义一个数时默认为int型
例如byte b=1000,计算机首先会默认1000为int型,确定数值是否在int范围内,在的话将它赋给前面的数据
类型,然后检查是否超出前面数据类型的范围,1000超出byte型范围,所以会报错
二:实数型 又称为浮点型,就是除整数外的数
float型 占有4个字节即32个二进制位,范围是3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
double型 占有8个字节即64个二进制位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
在实数型中数据默认double型。
而实数型与整数型的存储方式有存在不同:
整数型存储数据,例如byte占有8个字节,byte b=7;在计算机存储是00000111 首位是符号位,其余位置表示数据;而实数型首位也是符号位,但是其余位存储小数值和指数值,例如0.13*10^5,首位是符号,剩下一部分存储0.13,一部分存储5,所以由此看来实数型存储数据的范围要大于整数型。
三:字符型 char类型 占用2个字节 用单引号表示 char c=’a’;
char b=’中’;
char类型的值完全可以参与加减乘除运算,原因在于它们在运算是是用的该字符对应的编码进行运算!
四:布尔型 boolean 占用一个字节 只有true 和false两种,表示真假