Java浮点类型
一、浮點(diǎn)類型分類
| 類型 | 占用存儲(chǔ)空間 | 范圍 |
| 單精度float | 4字節(jié) | -3.404E38~3.403E38 |
| 雙精度double | 8字節(jié) | -1.798E308~1.798E308 |
?
?
?
?
說明:
1.關(guān)于浮點(diǎn)數(shù)在機(jī)器中存放形式的簡(jiǎn)單說明,浮點(diǎn)數(shù)=符號(hào)位+指數(shù)位+尾數(shù)位
2.尾數(shù)部分可能丟失,造成精度損失(小數(shù)都是近似值)
二、使用細(xì)節(jié)
1.與整數(shù)類型類似,浮點(diǎn)類型也有固定的范圍和長(zhǎng)度,不受具體操作系統(tǒng)的影響
2.java的浮點(diǎn)型默認(rèn)是double型,聲明float型常量需要加f或F
3.浮點(diǎn)型有兩種表示形式:
(1)十進(jìn)制形式:如5.12? ? 512.0f? ? ?.512? 必須要有小數(shù)點(diǎn)
(2)科學(xué)計(jì)數(shù)法:5.12e2? ?5.12E-2
public class DoubleDemo {public static void main(String[] args) {double num1 = 1.1;double num2 = 1.1f;double num3 = .123;System.out.println(num1);System.out.println(num2);System.out.println(num3);System.out.println(5.12e3); // 5120.0System.out.println(5.12E-2); // 0.0512} }4.通常情況下,應(yīng)該使用double型,因?yàn)樗萬loat型更精確
public class DoubleDemo {public static void main(String[] args) {double num1 = 1.1234567821;float num2 = 1.1234567821F;System.out.println(num1); // 1.1234567821System.out.println(num2); // 1.12345678} }5.浮點(diǎn)型使用陷阱: 2.7 和8.1/3
public class DoubleDemo {public static void main(String[] args) {double num1 = 2.7;double num2 = 8.1 / 3;System.out.println(num1); // 2.7System.out.println(num2); // 2.6999999999999997} }?
總結(jié)
- 上一篇: 一建工程经济的关键数据推导及关键记忆点
- 下一篇: 别跑!JAVA!-----------一