Java Day04(浮点型,布尔型,数据类型的转换)

本文介绍了Java中浮点型数据的处理,包括double和float的区别,布尔类型的底层表示,以及基本数据类型之间的转换规则,特别强调了自动类型转换和强制类型转换的使用,以及可能遇到的精度问题和混合运算的编译错误案例。

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

1.浮点型数据

(SE类库的源码位置在jdk中的src压缩包里)

  • 在java语言中,所有的浮点型字面值,默认被当作double类型来处理,要想该字面值当作float来处理,需要在字面值后面添加F/f
    以下是错误写法
float f=5.1;//这样会编译错误,大类型无法直接向小类型转换

正确写法

float f1=(float)5.1;//强制类型转换
float f2=5.1f;//在字面值后面添加f/F

2.布尔类型

  • boolean类型占1个字节,false底层表示为0,true底层表示为1
  • 布尔类型在开发中很重要,经常在逻辑运算和条件控制语句中使用

3.基本数据类型之间的转换

  • 八种基本数据类型当中除了布尔型,剩余7种都可以相互转换
  • 小容量向大容量转换,称为自动类型转换
    • byte<shot=char<int<long<float<double
  • 大容量转换为小容量必须要强制类型转换,但会损失精度
  • 当字面值没有超过byte,short,char的取值范围,可以直接赋值
  • byte,short,char混合运算的时候,各自先转换int类型再运算
  • 多种数据类型混合运算的时候,先转换成容量最大的那个

4.举例

int a=10/3;//a=3,整数与整数运算的结果也是整数
double b=10/3;//b=3.0,将运算出的int类型的3,转换为3.0
double c=10.0/3;//c=3.33333333,将3转换为3.0,运算结构为double类型
//错误写法1
long d=10;
byte e=(byte)(int)d/3;//编译报错,虽然算法的结果是3,但是编译只检查语法,不进行运算
//错误写法2
short f=10;byte g=5;
short h=f+g;//byte和short混合运算,会将其转化为int类型,运算结果为int型,故编译报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值