首页 > 编程知识 正文

java数据类型转换规则(java的三种基本数据类型)

时间:2023-05-06 05:06:35 阅读:79963 作者:3914

想进一步了解Java相关的,也可以收到私信“Java”、Java资料~

1.8种基本数据类型

分为以下四种:

整形(字节、短整型、长整型) )。

布尔型。

字节类型(字符)。

浮点型(浮点、双精度)。

具体来说,占几个字节,取值的范围(下图)

2 .数据类型的转换

(自动型变换、强制型变换)

Java语言是一种强大的语言。 强大的语言有以下要求:

或者常量需要类型:如果需要声明变量或常量,则必须声明类型,只能在声明后使用。

代入时的类型必须与:值的类型和变量或常数的类型完全一致。

运算类型必须一致,参与:运算的数据类型必须一致,才能进行运算。

但是,在实际使用中,经常需要在不同类型的值之间进行操作。 因此,需要新的语法来满足这一需求。 该语法是数据类型转换。

在数值处理这个部分,计算机和现实的逻辑没什么不同。 对现实来说,1和1.0没有任何区别。 但是,对计算机来说,1是整数型,1.0是小数型,在存储器中的存储方法和占有区域不同,所以在计算机内部需要进行类型转换。

Java语言中的数据类型转换有以下两种。

自动类型转换:编译器自动进行类型转换,不需要在程序中编写代码。

要强制类型转换:编译器进行类型转换,必须在程序中编写代码。

基本数据类型中布尔型不是数字型,所以基本数据类型的转换是布尔型以外的7种之间的转换。 本节将具体介绍两种类型的转换规则、适用的情况以及使用时应注意的问题。

2.1自动类型转换

自动类型转换也称为隐式类型转换,是指系统自动进行的类型转换,无需编写代码。 由于实际开发中经常会发生这种类型转换,因此Java语言在设计时不会为该操作设计语法,而是由JVM自动完成。

转换规则—存储范围从小到大。

具体规则是,byteshort(char )intlongfloatdouble即byte型的变量可以自动转换为short型。

示例代码:

字节b=10;

短sh=b;

在此分配值时,JVM首先将b的值转换为短整型,然后分配给sh。 可以在类型转换时跳转。 示例代码:

byte b1=100;

int n=b1;

注意问题:整数之间进行类型转换时,数值不变,但是将整数型,特别是比较大的整数型转换为小数型时,根据存储方式的不同,数据精度可能会有所降低。

2.2强制类型转换

强制类型转换也称为显式类型转换,是必须编写代码才能进行的类型转换。 由于该类型的变换很可能有精度损失,所以编写适当的代码,只在能够承受其损失时,才进行该类型的变换。

转换规则:从大存储类型更改为小存储类型。

具体的规则是,双字节浮点长整型短(字符)字节

语法是(转换目标的类型)需要转换的值

示例代码:

双精度d=3.10;

整数=(整数) d;

在此,将double型的变量d强制转换为int型,代入变量n。 另外,如果采用“脱1法”,也就是无条件舍弃小数点的所有数字,将小数强制转换为整数,则上述转换结果为3。

强制将整数转换为整数时,采用数字的低位。 例如,将int类型的变量转换为byte类型时,只取int类型的后8位,即最后一个字节的值。

示例代码:

int n=123;

字节=(字节) n;

int m=1234;

字节B1=(字节) m;

的值仍为123,b1的值为-46。 如果将m的值转换为二进制数,则b1的计算方法为10011010010。 如果将该数字的后8位值设为b1的值,则b1的二进制值为11010010。 根据机器数量的规定,最高位为符号位,1表示负数。 计算机中存储负数是补数,负数的原始代码是10101110,其值是十进制

注意问题:强制类型转换通常会记住精度的损失,所以使用时需要注意。

总结:

自动类型转换是指从保存范围小的类型到保存范围大的类型。

强制类型转换是指从保存范围宽的类型到小的类型。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。