float
類型表示單精度數(shù)字。
float
類型變量在需要一個分數(shù)組件時很有用。下面是一些浮動變量聲明的例子:
float high, low;
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 } }
上面的代碼生成以下結(jié)果。
Java double類型表示雙精度數(shù)字。
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); } }
輸出:
雙精度型數(shù)字具有帶小數(shù)部分的小數(shù)值。它們可以以標準或科學記數(shù)法表示。標準符號由一個整數(shù)數(shù)字組成,后面跟一個小數(shù)點,后面跟一個小數(shù)點。例如, 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 } }
上面的代碼生成以下結(jié)果。
您可以通過附加D或d來顯式指定雙字面值。
public class Main { public static void main(String args[]) { double d = 3.14159D; System.out.print(d);//3.14159 } }
上面的代碼生成以下結(jié)果。
科學記數(shù)法使用標準符號,浮點數(shù)加上指定a的后綴功率乘以該數(shù)的 10
。指數(shù)由E或e指示,后跟十進制數(shù),可以是正數(shù)或負數(shù)。例如, 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
將正數(shù)除以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); } }
上面的代碼生成以下結(jié)果。
將負數(shù)除以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); } }
輸出:
將 0.0
除以 0.0
返回 NaN
。負數(shù)的平方根為 NaN
。例如, System.out.println(0.0/0.0)
和 System.out.println(Math.sqrt(-1.0))
輸出NaN。
將正數(shù)除以+無窮大輸出+0.0。例如,System.out.println(1.0 /(1.0/0.0));輸出+0.0。
將負數(shù)除以+無窮大輸出-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); } }
上面的代碼生成以下結(jié)果。
更多建議: