初學者第04節之數據類型(上)

1.

Java是一種強類型語言,每個變量都必須聲明其類型。

Java的數據類型分為兩大類:基本類型(primitive type)和引用類型 (reference type)

Java中定義了3類8種基本數據類型,今天主要講講基本數據類型。如圖

初學者第04節之數據類型(上)

整數型(byte,short,int,long)

如圖:

類型

佔用存儲空間

表數範圍

Byte

1字節 8位

-128~127

Short

2字節 16位

-215 ~ 215-1 (-32768~32767)

Int

4字節 32位

-231 ~ 231-1

(-2147483648~2147483647) 約21億

Long

8字節 64位

-263 ~ 263-1

舉例一個byte其它以此類推:

byte是一個字節保存的,有8個位,即8個0、1。

8位的第一個位是符號位,

也就是說0000 0001代表的是數字1

1000 0000代表的就是-1

所以正數最大位0111 1111,也就是數字127

負數最大為1111 1111,也就是數字-128

所以Java中的一個byte是1個字節,其範圍是-128~127

初學者第04節之數據類型(上)

初學者第04節之數據類型(上)

下面看看錯誤的,大家比對一下。

初學者第04節之數據類型(上)

初學者第04節之數據類型(上)

Java 語言整型常數的三種表示形式:

十進制整數,如:100, -500, 0。

八進制整數,要求以 0 開頭,如:011。

十六進制數,要求 0x 或 0X 開頭,如:0x15 。

如圖:

初學者第04節之數據類型(上)

Java語言的整型常數默認為int型,聲明long型常量可以後加‘ l ’或‘ L ’ ,如:

long a = 10000000; //不出錯,在Int表示的範圍內(21億內)。

long b = 10000000000;//必須要加10000000000L,要不然就會報錯錯誤: 過大的整數: 10000000000

初學者第04節之數據類型(上)

Java中沒有無符號類型

浮點型

類型

佔用存儲空間

表數範圍

Float

4字節

-3.403E38~3.403E38

Double

8字節

-1.798E308~1.798E308

float類型又被稱作單精度類型,尾數可以精確到7位有效數字,在很多情況下,float類型的精度很難滿足需求。

double表示這種類型的數值精度是float類型的兩倍,又被稱作雙精度,絕大部分應用程序都採用double類型。

Java 浮點類型常量有兩種表示形式

十進制數形式,例如:

3.14 314.0 0.314

科學記數法形式,如

314e2 314E2 314E-2

double f = 314e2; //314*10^2-->31400.0

double f2 = 314e-2; //314*10^(-2)-->3.14

Float類型的數值有一個後綴F/f ,沒有後綴F/f的浮點數值默認為double類型。也可以在浮點數值後添加後綴D/d, 以明確其為double類型:

初學者第04節之數據類型(上)

浮點類型float, double的數據不適合在計算或者比較中使用,因為會丟失精度。

如果需要精確數字計算,需要使用BigDecimal類

注意:

主要理由:由於字長有限,浮點數能夠精確表示的數是有限的,因而也是離散的。浮點數一般都存在舍入誤差,很多數字無法精確表示(例如0.1),其結果只能是接近, 但不等於。

PS:官方文檔中好像說float指數的取值範圍為-126~127,double指取的取值數範圍為-1022~1023

寫完了如果寫得有什麼問題,希望讀者能夠給小編留言並且指正,也可以掃下面二維碼關注小編的公眾號,查看小編更多初學者文章。

本公眾號以互相學習!互相幫助!不管你是即將跨入Java之門的初學者,還是自學Java的愛好者,你都可以加小編微信(dcc939705214)!小編可以為你提供建議以及Java學習資料!不論你在學習上遇到任何問題,你隨時都可以來找小編!小編會在第一時間回覆!

注:本公眾號純屬個人團隊公益公眾號!不存在任何培訓機構招生信息

初學者第04節之數據類型(上)


分享到:


相關文章: