数据类型及转换规则

JAVA的基本数据类型包括整形、浮点型、布尔型和字符型。在类型转换中,存在自动类型转换(由小向大,如byte到int)和强制类型转换(由大向小,如double到int,可能丢失精度)。例如,将double类型的值转换为int会去掉小数部分。强制转换需使用(type)variableName的语法,并注意转换可能造成的精度损失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA基本数据类型有4类:

整形:byte、short、int、long(L)
浮点型:float(单精度F)、double(双精度) 【这里单精度和双精度的区别在于float的有效位约为8位,而double约为15位】
布尔型:boolean
字符型:char

在这里插入图片描述

数据类型转换(除boolean类型)
1.自动类型转换(隐式转换/合法转换)(由小向大转换)

如果当两个操作数中有一方是double类型的时候,另一个操作数自动转换为double类型
否则当两个操作数中有一方是float类型的时候,另一个操作数自动转换为float类型
否则当两个操作数中有一方是long类型的时候,另一个操作数自动转换为long类型
否则其他两个操作数自动转换为int类型

规则:由小字节向大字节自动转换

byte->short(char)->int->long->float->double

字符串类型

char→int

2.强制类型转换(由大向小转换)

进行强制类型转换。其语法格式如下:

(type)variableName

其中,type 为 variableName 要转换成的数据类型,而 variableName 是指要进行类型转换的变量名称,强制转换的实例如下:

int a = 3;
double b = 5.0;
a = (int)b;
上述代码中首先将 double 类型变量 b 的值强制转换成 int 类型,然后将值赋给 a,但是变量 b 本身的值是没有发生变化的。

在强制类型转换中,如果是将浮点类型的值转换为整数,直接去掉小数点后边的所有数字;而如果是整数类型强制转换为浮点类型时,将在小数点后面补零。

会造成缺失精度如float转换为int

float a = 10.72F

int b = (int) a 
System.out.println("b" + b);
"b = 10"
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值