-
Java中的8种基本数据类型
2025-10-22 19:51:08
贯穿整个高级语言中,数据类型也只有那么些,int、string、char、boolean这几种常用的,本篇内容将为你介绍java里的8种基本数据类型,不包括引用数据类型!
8种基本数据类型哪八种:
在这里插入图片描述
每种数据类型在底层占用的空间都是不一样的,上图中清楚的表示了8种数据所占空间的大小,主要了解的是单位以及每种数据类型所承受的值是什么。
首先说单位:
这里的单位是字节,1字节 = 8bit位 = 一个二进制位1/0所有计算机都能够识别二进制位,这些基本的数据类型也都是经过了包装后形成的明显的关键字;
实际上的底层依旧是以二进制来计算的。
代码语言:javascript代码运行次数:0运行复制 1(字节) = 10101010(二进制位)负数在二进制中的解释:
关于java中的数字类型,数字都是有正负之分的,所以在数字的二进制当中有一个二进制位被称位“符号位”。并且这个“符号位”在所有二进制的最左边,0表示正数,1表示负数。byte类型:
Byte类型是8种数据类型中占用空间最小的结果是数值的类型,占用1个字节Byte类型的取值范围处于[-128 ~ 127],超出范围将会编译报错;short类型:
Short类型使用不算多,他的取值范围是[-32768 ~ 32767];占用2个字节int类型:
Int类型重点说明;在java中“整数型字面量”被默认当作int类型来处理!
在问题发出前先说明int类型的取值范围:
[ -2147483648 ~ 2147483647],占用4个字节 问:下列声明是否有无问题?
代码语言:javascript代码运行次数:0运行复制long z = 2147483648;结果是编译报错:
在这里插入图片描述原因:在一开始整数型字面量默认当作int类型处理,2147483648已经超出int类型的取值范围所以报错;有人说:不是声明的long类型的z变量来接收数值吗?怎么会报错?因为是在一开始的时候就已经报错所以long声明的z无法进行 类型转换请记住:java的运行一定是先编译,再进行运行!编译报错怎么样也无法运行!
如何解决这样的问题?
代码语言:javascript代码运行次数:0运行复制long z = 2147483648;// 错误 ×
long z = 2147483648L;// 解决错误 √在字面量的后面加上L即可,这样就会在一开始的时候被识别为long类型;
也可以将值缩小让值在int类型的可承受范围内,这样java会自动帮你把类型转换
由于“整数型字面量”被默认当作int类型来处理并且int类型所可取的值也很大很广泛,所以int类型也是最常用的数值类型
long类型:
Long类型的取值范围:(-9223372036854774808~9223372036854774807)
这个取值范围是不是很夸张?在底层占用8个字节,所以Long基本包括了程序员所需要的数值
突破了千亿的取值范围还不包括负数,已经完完全全够了。
如果还要大,在JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,具体作用上网搜搜用法就可以了;
float类型:
float是浮点类型中的单精度,占用4字节;
需要注意的是:java中所有的浮点型字面值,默认被当作double类型来处理;
所以在以下代码中是会编译报错的:代码语言:javascript代码运行次数:0运行复制float z = 12.5;如果想该字面值以float类型来处理,需要在字面值后面添加F/f代码语言:javascript代码运行次数:0运行复制float z = 12.5f;double类型:
double类型占用8字节但是因为浮点型字面量都是默认当作double类型处理的,所以double类型用的还算挺多,因为省事?而相对来说,double的精度很低;在需要精度高的计算时,会使用BigDecimalboolean类型:
在这里插入图片描述Boolean类型只有两个值:true\false;占用1个字节
因为占用空间很少而且更加直观,所以经常被用于if判断;char类型:
一个中文占用2个字节,char类型正好是2个字节;所以java中的char类型变量可以存储一个中文字符注:
以下声明报错: 123 属于字符串,该使用""双引号引起来
代码语言:javascript代码运行次数:0运行复制char k = '123';以下声明报错: ** “a” 属于字符串,k变量是char类型**
这类型不兼容,编译错误;
代码语言:javascript代码运行次数:0运行复制char k = "a";char类型正确声明方式:
代码语言:javascript代码运行次数:0运行复制char k = 'b';//可以是单个中文字符 '好'结束语:请牢记这八种数据类型,在开发和学习中会经常的用到,应该说程序员工作的时间段都会用到!