Java 浮點類型

2018-05-19 16:12 更新

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

    
  }
}

上面的代碼生成以下結果。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號