知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

Java中八大基本数据类型详解(一)

发表时间:2022-03-25来源:网络

八大基本数据类型

自从Java发布以来,基本数据类型就是Java语言的一部分,分别是***byte, short, int, long, char, float, double, boolean***.当然围绕着这些基本数据类型衍生出来了很多面试题,但是说实话,工作中基本用不到


例如:

​ boolean 占几个字节,char 是否可以表示汉字 等等


其中八大类型又可以分为四种,也就是下面的划分:

​ 整型:byte, short, int, long

​ 字符型:char

​ 浮点型:float, double

​ 布尔型:boolean


​ 在详细介绍之前,先科普一下,Java中最小的计算单元为***字节***,1字节=8位(bit)。下面我们列出了每个基本类型对应的默认值


这里还要科普一点,java 编程语言是一门静态类型的编程语言,也就是说你必须先申明变量然后才能使用它,所以你必须不要先申明变量的类型,就像下面一样

int test = 1;

这样就告诉了你的程序,test 变量已经存在,并且是int 类型,拥有初始值是1,java 中的变量类型大致分为两类,一类是基本类型,也就是我们今天学的这种,另外一类是引用类型。


为什么需要基本类型

其实在学习这一节之前你需要有点基本知识,那就是包装类型,你只需要知道java 为八大基本了下都提供了包装类,Java 是面向对象的编程语言,那么Java 为什么有提供了基本数据类型,这种不属于对象类型的数据类型呢?


这是因为在Java 中对象的创建一件代价比较大的事情,再加上基本数据类型又是使用的非常广泛的,和String一样,我们知道Java 对String 做了很多优化,这里Java 为了提高程序的效率,提供了基本数据类型,后面你也会学到Java 也为基本数据了下提供了缓存。


需要注意的是包装类型都是不可变的


一. 整型

Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码表示,那么补码如何计算呢?


补码=源码取反 + 1

如:

22,在计算机中的表示为00010110,

-22,取反:11101001,加1:11101010


byte

byte属于Java中的整型,长度为1字节8bit,取值10000000(-128)到 01111111(127),变量初始化默认值为0,包装类Byte


short

short属于Java中的整型,长度为2字节16bit,取值10000000 00000000(-32768)到 01111111 11111111(32767),变量初始化默认值为0,包装类Short


int

int属于Java中的整型,长度为4字节32bit,取值-2^31 (-2,147,483,648)到 2^31-1(2,147,483,647),变量初始化默认值为0,包装类Integer


long

long属于Java中的整型,长度为8字节64bit,取值-2^63 (-9,223,372,036,854,775,808‬)到 2^63-1(9,223,372,036,854,775,8087),变量初始化默认值为0或0L,包装类Long


二. 浮点型

Java中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循[IEEE 754](https://baike.baidu.com/item/IEEE754/3869922)标准


float

float属于Java中的浮点型,也叫单精度浮点型,长度为4字节32bit,变量初始化默认值0.0f,包装类Float


1. float结构

包含三部分:符号位、指数位、尾数位


2. float取值

正规形式:


2. double取值

正规形式:

非正规形式:


根据上面公式很容易计算出double的取值范围为:

(最小值,当符号位S取1,指数位E取2047)


(最大值,当符号位S取0,指数位E取2047)


能取到其间的近似数据。


注意:根据指数位和尾数位的取值不同,还有很多特殊情况,如NAN,正无穷,负无穷,但平时基本不会用到,这里不再深入;同时由于是近似值,因此无法表示金额,表示金额建议使用BigDecimal


————————————————

版权声明:本文为CSDN博主「不二人生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:Java中八大基本数据类型详解
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜