Java的8种基本数据类型和类型的转换

本文详细介绍了Java中的基本数据类型,包括byte、short、int、long、float、double、char、boolean,以及它们的取值范围、包装类和类型转换的自动与显式区别。强调了不同类型之间的转换可能带来的精度损失和注意事项。
摘要由CSDN通过智能技术生成

前言.

无论是在那种操作系统下,所有类型都是有符号的类型。所有的类型所占的字节都是一致的,不会因为系统位数不同而导致字节大小不同。整形默认int,浮点类型默认double。

一.字节类型

byte类型的变量占一个字节的大小。他的取值范围是-128~127.(他的这个取值范围是根据他的二进制序列来计算的,一个btye占据8个比特位就是8个二进制位,但是第一位是符号位,不计入计算,所以就是-2^7~2^7-1,减去1是因为0算入了正数的部分),其中byte的包装类型是Byte.

在IDEA上的看到的就是这样的。

二.短整型 

短整型的占两个字节,范围计算的方法和上述相同就不在意义赘述啦。其中短整型的范围是:-32768 ~ 32767。短整型是short,他的包装类型是Short。

三.整形

整形占四个字节,范围计算是-2^31~2^31-1.int类型的包装类型是Integer.

四.长整型

长整型占八个字节,范围是-2^63~2^63-1.long类型的包装类型是Long.其中对于long类型的数据我们会在他的数据后面加一个大写的L。例如:long a = 10L;(不用小写是因为l如果和数字看混淆).

五.单精度浮点型

float占4个字节,在工程里面用的都比较少,一般都是优先考虑double类型的数据,他的包装类型是Float。

六.双精度浮点型

double类型占8个字节,其中我们计算的时候不能这样:

这样计算的是0,因为这是int类型的计算而不是double。

这样计算才可以正确的算出小数。

其中浮点数的计算也是具有误差的,例如:

他并不是1.21,所以这是一个很神奇的事情,也可以让我们知道浮点数是具有误差的。

double的包装类型是Double。

七.字符型

字符类型是占两个类型的,所以在java种可以打印文字,比如说:

char类型的包装类型是Character。

八.布尔类型

波尔类型并没有明确规定是几个字节,毕竟,他的值不是true就是false,就这两个。他的变量一般都是 boolean val = true;他的包装类型是Boolean。需要注意的是,true就是true,false就是false,并没有C语言中所谓的0位假,非0位真的说话,大家一定要记住哈,

九.类型转换

1.自动类型的转换(隐式)

意思就是代码不需要进行处理,在编译的时候就会自行处理。一般都是小类型变为大类型的数据的时候,因为小类型变大类型数据时不会造成数据的丢失。

2.强制类型的转换(显式)

进行操作时,代码需要进行一定的格式化处理,代码才能进行。一般都是大数据范围变成小数据范围的数据,这样转化的话,可能会造成数据的丢失,就不安全。

需要注意的是,大类型数据变成小类型数据可能会有精度的丢失,还有就是不是所有的类型之间都可以相互的强制转换,比如说布尔类型就是不可以滴,需要大家注意哦.

其中byte和byte之间的计算编译器会报错,因为计算机的CPU是通过最低的4个字节来计算的,而低于的类型都是变成默认类型计算,如果byte就是变成int类型来进行计算的,计算之后不能用byte来直接接收这个数据,因为这个数据的类型是int而不是byte,因此如果用byte类型的变量来接收这个数据的话,就需要进行强制类型的转化啦。

总结

以上就是小编对java基本数据类型的理解,如果小编有写错的地方希望大家帮小编纠正哦,谢谢大家的观看。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值