请说明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位。

  1. 第一位是用于符号表示,记为\(S\)

  2. 第2~9位,采用8位来表示指数部分,为了表示正数和负数需要在减去127的偏移量\([-127,128]\),全0和全1要进行特殊处理\([-126,127]\),这里的底数为2,记为\(exponent\).

  3. 余下的23位表示小数部分,这里的23位有一个默认的前导1,所以23位表示了默认24位的数字。记为\(f\).

最后表示为

\[floatNumber = (-1)^s \times 1.f \times 2^{exponent} \]

最后float的范围为

\[[10^{-38},10^{38}] \]

6. double

doube类型,占用8个字节,精度类型是float类型的两倍。浮点数不能表示精确的值,可以使用bigDecimal来进行精确的计算,double是java中使用浮点数的默认选择

7. char

char类型,长度为两个字节。Java中所有的字符都用单引号表示。同时,双引号用来表示字符串。

8. boolean

boolean类型长度为一个字节,只有两个值:true和false

posted @ 2021-05-31 10:51  锤子布  阅读(473)  评论(0编辑  收藏  举报