Java中提供了三个特殊的浮点数值:正无穷大、负无穷大、非数,用于表示溢出和出错。

正无穷大:用一个正数除以0将得到一个正无穷大,通过Double或Float的POSITIVE_INFINITY表示。

负无穷大:用一个负数除以0将得到一个负无穷大,通过Double或Float的NEGATIVE_INFINITY表示。

非数:0.0除以0.0或对一个负数开放将得到一个非数,通过Double或Float的NaN表示。

可以点开jdk源码,看看java都是如何表示的:

/**

* The {@code Double} class wraps a value of the primitive type

* {@code double} in an object. An object of type

* {@code Double} contains a single field whose type is

* {@code double}.

*

*

In addition, this class provides several methods for converting a

* {@code double} to a {@code String} and a

* {@code String} to a {@code double}, as well as other

* constants and methods useful when dealing with a

* {@code double}.

*

* @author Lee Boynton

* @author Arthur van Hoff

* @author Joseph D. Darcy

* @since JDK1.0

*/

public final class Double extends Number implements Comparable {

/**

* A constant holding the positive infinity of type

* {@code double}. It is equal to the value returned by

* {@code Double.longBitsToDouble(0x7ff0000000000000L)}.

*/

public static final double POSITIVE_INFINITY = 1.0 / 0.0;

/**

* A constant holding the negative infinity of type

* {@code double}. It is equal to the value returned by

* {@code Double.longBitsToDouble(0xfff0000000000000L)}.

*/

public static final double NEGATIVE_INFINITY = -1.0 / 0.0;

/**

* A constant holding a Not-a-Number (NaN) value of type

* {@code double}. It is equivalent to the value returned by

* {@code Double.longBitsToDouble(0x7ff8000000000000L)}.

*/

public static final double NaN = 0.0d / 0.0;

...

}

(实际上在字节码里正无穷和负无穷还有NaN都有一个特定的值用来表示

0x7f800000表示正无穷

0xff800000表示负无穷

在0x7f800001~0x7fffffff 和 0xff80001~0xffffffff两个的范围内的值表示NaN.

)

所有的正无穷大的数值都是相等的,所有的负无穷大的数值都是相等;而NaN不与任何数值相等,甚至和NaN都不等。

举例

public class javaLesson5

{

public static void main(String[] args)

{

float af = 5.2325556f;

//下面将看到af的值已经发生改变,显示结果为5.2325554.

System.out.println(af);

double a = 0.0;

double c = Double.NEGATIVE_INFINITY;

float d = Float.NEGATIVE_INFINITY;

//将看到float和double的负无穷大是相等的。显示结果为:true。

System.out.println(c == d);

//0.0除以0.0将出现非数。显示结果为:NaN。

System.out.println(a / a);

//两个非数之间是不相等的。显示结果为:false。

System.out.println(a == Float.NaN);

//所有正无穷大都是相等的。显示结果为:true。

System.out.println(6.0 / 0 == 555.0/0);

//负数除以0.0将得到负无穷大。显示结果为:-Infinity

System.out.println(-8 / a);

//下面代码将抛出除以0的异常。

//System.out.pintln(0 / 0);

}

}

部分内容转自(http://blog.csdn.net/ml863606/article/details/50853555)

java怎么表示正无穷大_java中怎样表示一个无穷大? 无穷小?相关推荐

  1. java怎么表示正无穷大_java中怎样表示一个无穷大?无穷小

    展开全部 Java中提供了三个特殊636f70793231313335323631343130323136353331333361323638的浮点数值:正无穷大.负无穷大.非数,用于表示溢出和出错. ...

  2. java如何获取手机号码_java中如何提取一个字符串中的电话号码?

    展开全部 java中如何提取一个字符串中的电话号码e68a84e8a2ad3231313335323631343130323136353331333363376466,先写出手机号码和固定号码的正则表 ...

  3. java判断线程结束_java中如何判断一个线程是否结束

    我们可以通过调用thread.Join()方法,把要判断的线程加入到当前线程中,这样可以将两个交替执行的线程合并为顺序执行的线程.如果顺利执行,则说明该线程未结束. (视频教程推荐:java视频) 比 ...

  4. java socket 读取文件_Java中Socket下载一个文本文件

    package com.lanqiao.demo2; import java.io.BufferedInputStream; import java.io.FileInputStream; impor ...

  5. java变量存储位置_java 中变量存储位置的区别

    [原文] 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量 ...

  6. Java文件的状态_java中文件的状态

    如何知道文件的状态,即应用程序是否被阻止且是否阻塞.在java中,如果有一个API,或者您可以使用Java IO. 谢谢. 解决方法: 如果您询问文件锁定,则以下示例来自Example Depot,显 ...

  7. java中将json字符串_Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  8. java可以多重继承吗_Java中的多重继承与组合vs继承

    java可以多重继承吗 有时我写了几篇有关Java继承,接口和组成的文章. 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处. Java中的多重继承 多重继承是创建具有多个超类的单个类的能 ...

  9. java中有没有栈_Java中堆和栈有什么区别

    stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里.栈(stack):是一个先进后出的数据结构,通常用于保存方法(函 ...

最新文章

  1. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.11. 外部数据
  2. 字节、快手、阿里、腾讯这两年的广告推荐技术进展 | AICon
  3. Tensorflow的基本运行方式--demo程序
  4. C#调用python文件
  5. DOS批处理删除文本文件重复的行
  6. opencv读取摄像头实时流代码
  7. SQL null的学问
  8. win7 计算机游戏不见了怎么办,小编教你解决Win7系统下找不到自带小游戏的问题...
  9. 矩阵补全(Matrix Completion)和缺失值预处理
  10. Affinity Mattrix 亲和矩阵总结
  11. 【学术相关】博士开始内卷了吗?
  12. 面试知识总结(八股、网络、LINUX)
  13. MOS管当开关控制时,为什么一般用PMOS做上管NMOS做下管?
  14. Everything研究之快速获取USN记录的文件路径
  15. Excel 分组显示(COUNTIF 函数实现)
  16. element-ui——安装element-plus
  17. 微信分享域名防屏蔽 防微信拦截网址系统
  18. HTML几种设置水平居中和垂直居中的方式
  19. ZOJ--1005:Jugs(dfs)
  20. 自制微信机器人:群发消息、自动接收好友

热门文章

  1. 实战06_SSM整合ActiveMQ支持多种类型消息
  2. c语言gets和getchar区别,c语言中关于getchar()、getchar()和gets().......
  3. plink源码_plink: 等位型计数(allele count)
  4. mysql3错误_第3行MYSQL语法错误
  5. html5 coverflow,使用FancyCoverFlow实现3D无限循环切换视图
  6. 2021浙江高考宁波四中成绩查询,2021浙江高考成绩查询时间公布 几号能查分
  7. easyui-textbox锁定按钮不锁定_不放水了!湖人G5改穿曼巴球衣,热火输定了,詹姆斯提前锁定FMVP!...
  8. qt实现QLabel上显示的文字有描边
  9. C语言 typedef - C语言零基础入门教程
  10. 优秀自我简介200字_全球战疫 翰墨传情——东方盛世杯网络公益书画展优秀作品【二】...