Java知识点解析

createh53个月前 (03-26)技术教程24

1.我的第一反应就是为true,因为'-'的运算等级比'=='高,所以0.4==0.4,

然后就是true,可是这是错的。

2.代码演示:

package Test;

import java.math.BigDecimal;

public class sss {

public static void main(String[] args) {

sss ss = new sss();

ss.ImpreciseResult();

ss.PrecisionResult();

}

public void ImpreciseResult(){

System.out.println(3-2.6);//输出3和2.6的差值

System.out.println(3-2.6==0.4);//输出比较结果

}

public void PrecisionResult(){

BigDecimal x = new BigDecimal("3");//创建3的BigDecimal对象

BigDecimal y = new BigDecimal("2.6");//创建2.6的BigDecimal对象

BigDecimal z=x.subtract(y);//计算3和2.6的差值

double value=z.doubleValue();//转成double

System.out.println(value);//计算结果

System.out.println(value==0.4);//比较结果

}

}

3.运行结果:

原因是:Java中基本类型的浮点数运算是不精确的,在实际中,为了得到精确的计算结果,对于浮点数的运算一般不使用基本数据类型来实现,而是使用BigDecimal类实现.

相关文章

Java基础38个必会知识点,你知道几个?

#头条创作挑战赛#做Java培训很多年了,也面试过很多Java工程师,总的来说,大家对java基础知识的掌握普遍不大好,如果你觉得自己的技术很强,基础很好,可以划走这篇文章啦~如果你是初学者或者是最近...

java基础知识点

一、java基础知识点:1、Java语言基础:包括环境搭建、基本数据类型、包装类、变量、常量定义、控制结构、String字符串处理等;2、Java语言面向对象:面向对象思想、类声明与对象实例化、成员...

Java基础知识点我替你总结了,这么好的事情怎么能错过?

今天又来分享java知识啦~这些基础知识点你知道吗?1.对象的初始化(1)非静态对象的初始化在创建对象时,对象所在类的所有数据成员会首先进行初始化。基本类型:int型,初始化为0。如果为对象:这些对象...

深圳远标教育:java基础知识点扫盲

有很多从深圳远标教育培训毕业的同学,都会在深圳各大互联网公司应聘相应岗位。很多面试官都会问到与java相关的专业问题,今天,深圳远标就为童鞋们梳理一下这些公司面试官常见的套路,为大家成功面试打下基础。...