Java自学笔记:浮点数float

1. 浮点数介绍

  • 可以用来表示一个小数。ex. 1.34,379.0

2. 浮点类型

请添加图片描述

  • 浮点数在机器中存放的形式,浮点数 = 符号位 + 指数位 + 尾数位
  • 尾数部分可能丢失,造成精度损失(小数都是近似值

3. 浮点数细节(5点)

1. 与证书类型相似,java浮类型也有固定的范围和字段长度,不受具体OS的影响。

2. java的浮点型常量默认为double型,声明float型常量,须在后面加‘f’

public class varDetail {

   //编写一个main方法
   public static void main(String[] args) {
   	//java的浮点型常量默认为double型,声明float型常量,须在后面加‘f’
   	float n1 = 1.1; //错的
   	float n2 = 1.1F; //对的
   	double n3 = 1.1; //对的
   	double n4 = 1.1F; //可以,把小的放进大的空间,可以放的进去。
   }
} 

3. 浮点型常量有两种表示形式。

  • 十进制形式: 如: 5.12 512.0f .512 (必须有小数点)
  • 科学计数法形式:如: 5.12e2[相当于5.12 * 10的2次方
    5.12E-2 [5.12 / 10的2次方]
public class varDetail {

   //编写一个main方法
   public static void main(String[] args) {
   	//十进制形式: 如: 5.12    512.0f    .512 (必须有小数点)
   	double n5 = .123; [等价于0.123]
   	System.out.println(5.12e2);  //输出512.0
   	System.out.println(5.12E-2);  //输出0.0512
   }
} 

4. 通常情况下,应该使用double型,因为它比float型更精确

public class varDetail {

   //编写一个main方法
   public static void main(String[] args) {
   	//通常情况下,应该使用double型,因为它比float型更精确。
   	double n9 = 2.1234567851;  //输出2.1234567851【更精确】
   	float n10 = 2.1234567851F; //输出2.1234567
   }
} 

5. 浮点数使用陷阱: 2.7 和8.1/3 比较

  • 重点: 当我们对运算结果为小数的数字进行相等判断时,要小心
  • 应该时以两个数的差值的绝对值,在某个精度范围内判断。
  • 如果是直接查询的小数,或者直接赋值的,是可以直接判断相等。
public class varDetail {

   //编写一个main方法
   public static void main(String[] args) {
   	//浮点数使用陷阱:2.7 和8.1/3 比较
   	double n11 = 2.7;
   	double n12 = 8.1 / 3; 
   	System.out.println(n11);  //输出2.7
   	System.out.println(n12);  //输出2.6999999999997【一个接近2.7的数字】
   	//正确写法
   	if(math.abs(n11 - n12) < 0.000001) {
   		System.out.println("差值非常小,到了我的规定精度,认为是相等的");
   	System.out.println(math.abs(n11 - n12) < 0.000001); //输出一个很小的值。
   	}
   }
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值