Java就业-Java基本数据类型

前言

马上就要面试了,根据前面课程所学内容,把自己容易记混淆的地方重新梳理了一下写成笔记,方便日后查阅复习,话不多说,一起来看下吧!

一、基本数据类型

基本数据类型分成4种,我们来一个一个介绍

1.1 整数类型

1.1.1 Byte

在说字节前,我们先要知道比特(bit),也就是我们常说的位,位是计算机中最小的传输单位,由0或1表示

一个字节有八位,即 1Byte = 1bit,默认值为0

其中,第一位为符号位,0为正,1为负,因此,一个字节能表示的最大正数为0111 1111,转换成十进制就是(2^7)-1,即127

最大负数呢,就是1111 1111,2^7,即-128

最后我们能够得出, 1个字节可表示的数值范围为 -128 ~ 127

1.1.2 short

除了字节需要用多少位来表示,其余的数据类型则直接用字节来表示

short数据类型占2个字节,16位,所能表示的数值范围为 -2^15 ~ (2^15)-1,即-32768 ~ 32767

默认值为0

1.1.3 int

int是我们经常使用的数据类型,它占4个字节,可表示范围为 -2^31 ~ (2^31)-1, 默认值为0

1.1.4 long

long占8个字节,可表示范围为 -2^63 ~ (2^63)-1

long基本上就已经能表示很大的数了,但如果我们有一天真的需要用到比long的最大数值还要大的数时该怎么办呢?

这就会用到Math这个类,该类中有一个静态方法bigInteger可以表示比long还大的数值

整数类型就介绍完啦,可以看出来一个规律,假如一个整数类型占n位,它所能表示的数值范围就为 -2^(n-1) ~ (2^(n-1))-1

默认值为0l

1.2 浮点数类型

1.2.1 单精度浮点类型float

float占4个字节,第一位仍为符号位,接着符号位的八位为指数部分,这里指数部分的第一位规定为符号位,因此求出来的十进制数值需要减127才是真正的指数部分,剩余23位为尾数部分,如下图所示:

尾数部分的第一位固定为1,至于为啥为1呢?规定!就这么设计的!

因为这一位始终为1,所以在存储时并非以数字形式进行保存,节省空间

它所能表示的范围为 -3.403E38 ~ 3.403E38 (E38为E的38次方), 默认值为0.0f

1.2.2 双精度浮点类型double

double类型占8个字节,可以表示15或16位有效数字,枪手代考取值范围为 -1.798E308 ~ 1.798E308, 默认值为0.0d

单精度与双精度对比如下:

浮点数类型都是一个不太精确的数,用了浮点数就意味着舍去了精确,如最常见的,0.1+0.2用浮点数计算的话结果为0.30000000000000004,因此需要精确计算时不要使用浮点类型,可以使用java.math.BigDecimal

1.3 布尔类型

1.3.1 boolean

布尔类型只有一种,boolean,取值只有true或false,所占大小没有规定,一般认为是一个字节,8位, 默认值为false

1.4 字符类型

1.4.1 char

char类型只占两个字节,因为其表示的是字符,因此没有负数,无符号位,取值范围为 0 ~ 65535,存储时会把字符转换成对应的ASCII码进行存储, 默认值为0

在这里就不得不记住几个常用的ASCII码值了

字符 ASCII
0 48
A 65
a 97
空格 32
换行符

10

1.5 总结

基本数据类型呢,就是不用new直接可以使用,基本数据类型之间可以转换,把小类型的值赋值给大类型时会自动转换,但把大类型赋值给小类型时,需要用到强制转换

对于基本数据类型,判断值是否相等用==,而引用数据类型==则是判断地址是否相等

posted @ 2020-09-29 14:19  小琪琪来啦  阅读(0)  评论(0)    收藏  举报
欢迎大家来到我的博客:武汉雅思 | 武汉托福 | 新航道 | 雅思培训 | dnfsf | 天龙sf | 热血江湖sf | 天龙sf | dnfsf