java 浮点数 类型_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 }

}

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

9aab41af1b0b8068ddaa96eaf6b7e967.png

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);

}

}

输出:

03b39fb90afc2332c7141dd2e271ec38.png

例子

双精度型数字具有带小数部分的小数值。它们可以以标准或科学记数法表示。标准符号由一个整数数字组成,后面跟一个小数点,后面跟一个小数点。例如,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 }

}

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

479b00ec0173c31036ccc8b6aeb7c2d5.png

例2

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

public static void main(String args[]) {

double d = 3.14159D;

System.out.print(d);//3.14159 }

}

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

94c76f3fe5c2c798851779485b962c5c.png

科学计数法

科学记数法使用标准符号,浮点数加上指定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);

}

}

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

dddb936873fa6ad6d0597f4d27922c64.png

双值常数

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);

}

}

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

ab54b0aa4f181baa6fad45c0d0adef78.png

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);

}

}

输出:

016104a59bdb432e84d1e60aa3d9ab8a.png

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);

}

}

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

8a57a959ead222f609a39f0010e44182.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值