举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > java浮点类型的取值范围 Java 浮点类型

java浮点类型的取值范围 Java 浮点类型

2023-03-07 00:18 Java教程

java浮点类型的取值范围 Java 浮点类型

java浮点类型的取值范围

Java中的浮点类型有float和double两种,它们的取值范围也不同。

float类型是单精度浮点数,占4个字节(32位),取值范围是-3.4E38~3.4E38。其中,3.4E38表示3.4乘以10的38次方。

double类型是双精度浮点数,占8个字节(64位),取值范围是-1.7E308~1.7E308。其中,1.7E308表示1.7乘以10的308次方。

float min = -3.4e+38f;  //最小值 
float max = 3.4e+38f;   //最大值 
double min = -1.7e+308; //最小值 
double max = 1.7e+308;  //最大值

Java 浮点类型

Java教程 - Java浮点类型


float类型

float 类型表示单精度数字。

float 类型变量在需要一个分数组件时很有用。下面是一些浮动变量声明的例子:

float high, low;

Java浮点值,大小和字面值

float是32位宽,其范围约为 1.4e-045 3.4e + 038

Java中的浮点字面值默认为双精度。要指定浮点字面值,必须在该常量后面附加一个 F f

以下代码显示了如何声明浮点字面值。

public class Main { 
    public static void main(String args[]) { 
        float d =  3.14159F; 
        System.out.print(d);//3.14159    
    } 
}

上面的代码生成以下结果。


Java双精度类型

Java double类型表示双精度数字。

double是64位宽,其范围大约从4.9e-324到1.8e + 308。

这里是一个程序使用双变量来计算圆的面积:

public class Main {
  public static void main(String args[]) {
    double pi, r, a;

    r = 10.8888; // radius of circle
    pi = 3.1415926; // pi, approximately
    a = pi * r * r;

    System.out.println("Area of circle is " + a);
  }
}

输出:



例子

双精度型数字具有带小数部分的小数值。它们可以以标准或科学记数法表示。标准符号由一个整数数字组成,后面跟一个小数点,后面跟一个小数点。例如, 2.0 3.14159 0.6667

public class Main { 
    public static void main(String args[]) { 
        double d =  3.14159; 
        System.out.print(d);//3.14159    
    } 
}

上面的代码生成以下结果。

例2

您可以通过附加D或d来显式指定双字面值。

public class Main { 
    public static void main(String args[]) { 
        double d =  3.14159D; 
        System.out.print(d);//3.14159    
    } 
}

上面的代码生成以下结果。

科学计数法

科学记数法使用标准符号,浮点数加上指定a的后缀功率乘以该数的 10 。指数由E或e指示,后跟十进制数,可以是正数或负数。例如, 6.02E23 314159E-05 4e + 100

public class Main {
  public static void main(String[] argv) {
    double d1 = 6.022E23;
    double d2 = 314159E-05;
    double d3 = 2e+100;

    System.out.println("d1 is " + d1);
    System.out.println("d2 is " + d2);
    System.out.println("d3 is " + d3);
  }

}

此程序生成的输出如下所示:

双值常数

Java的浮点计算能够返回 + infinity -infinity +0.0 -0.0 NaN

将正数除以0.0会报+无穷大。例如, System.out.println(1.0/0.0); 输出无穷大。

public class Main{
  public static void main(String[] args) {
    System.out.println(1.0/0.0);
  }

}

上面的代码生成以下结果。

double无穷大

将负数除以0.0输出 - 无穷大。例如,System.out.println(-1.0 / 0.0);输出 - 无穷大。

public class Main{
  public static void main(String[] args) {
    System.out.println(-1.0/0.0);
  }

}

输出:

double NaN

0.0 除以 0.0 返回 NaN 。负数的平方根为 NaN 。例如, System.out.println(0.0/0.0) System.out.println(Math.sqrt(-1.0))输出NaN。

将正数除以+无穷大输出+0.0。例如,System.out.println(1.0 /(1.0/0.0));输出+0.0。

将负数除以+无穷大输出-0.0。例如,System.out.println(-1.0 /(1.0/0.0));输出-0.0。

public class Main {
  public static void main(String[] args) {
    Double d1 = new Double(+0.0);
    System.out.println(d1.doubleValue());

    Double d2 = new Double(-0.0);
    System.out.println(d2.doubleValue());
    System.out.println(d1.equals(d2));
    System.out.println(+0.0 == -0.0);

    
  }
}

上面的代码生成以下结果。

阅读全文
以上是编程学为你收集整理的java浮点类型的取值范围 Java 浮点类型全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部