请说明String是最基本的数据类型吗?
请说明String是最基本的数据类型吗?
基本数据类型:(共有8种)
整型:byte,short,int,long;长度(字节)分别为 1 ,2,4,8;
浮点型:float,double;长度(字节)分别为 4,8;
字符型:char;长度(字节)为 2;
布尔型:boolean;长度(字节)为 1。
注:除了以上8种数据类型,剩下的全部都是引用数据类型。
String是lang包下的一个类,不是基本数据类型,它代表的是字符串。
1. byte
byte 类型,长度为一个字节,取值范围为:-128~127。相当于\([-2^7,2^7-1]\),就是说8bit中一位用于表示符号,且正数还需要多表示一个0。
2. short
short类型,长度为2个字节,取值范围为:-32768~32767。相当于\([-2^{15},2^{15}-1]\),就是说16位中有一位用于表示符号,且正数还需要多表示一个0。
3. int
int类型,长度为4个字节,取值范围为:\([-2^{31},2^{31}-1]\),就是说32位中有一位表示符号,且正数还需要多表示一个0
4. long
long类型,长度为8个字节,取值范围为:\([-2^{63},2^{63}-1]\),就是说64位中有一位用于表示符号,且正数还需要多表示一个0.
5. float
float类型,采用IEEE Standard 754 Floating Point Numbers标准,float占用4个字节,有32位。
-
第一位是用于符号表示,记为\(S\)。
-
第2~9位,采用8位来表示指数部分,为了表示正数和负数需要在减去127的偏移量\([-127,128]\),全0和全1要进行特殊处理\([-126,127]\),这里的底数为2,记为\(exponent\).
-
余下的23位表示小数部分,这里的23位有一个默认的前导1,所以23位表示了默认24位的数字。记为\(f\).
最后表示为
最后float的范围为
6. double
doube类型,占用8个字节,精度类型是float类型的两倍。浮点数不能表示精确的值,可以使用bigDecimal来进行精确的计算,double是java中使用浮点数的默认选择
7. char
char类型,长度为两个字节。Java中所有的字符都用单引号表示。同时,双引号用来表示字符串。
8. boolean
boolean类型长度为一个字节,只有两个值:true和false