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
048
A65
a97
空格32
换行符

10

1.5 总结

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值