聯(lián)系我們 | 加入收藏

  大連服務外包公共培訓服務平臺
當前位置:首頁 > IT資訊 > 正文
Java入門必學的數(shù)據(jù)類型
時間:2022/12/7 8:57:37來源:網(wǎng)絡閱讀:17475

1 什么是Java 基本數(shù)據(jù)類型

前面講過變量,程序中的變量是一個存儲單元,用于存儲程序中的數(shù)據(jù)。而今天講的數(shù)據(jù)類型是用來約定變量存儲空間的大小。約定變量存儲空間大小的目的是根據(jù)數(shù)據(jù)大小選擇合適的存儲空間,將合適的數(shù)據(jù)存儲到相應大小的存儲空間可以避免計算機資源浪費,提高軟件運算性能。

Java中基本數(shù)據(jù)類型一共有4類8種:

2 整數(shù)類型

Java整數(shù)類型一共有4種, 用于存儲各個范圍的整數(shù):

整數(shù)類型只能存儲整數(shù),不能存儲小數(shù),小數(shù)需要采用float或者double類型存儲。

2.1 byte 類型

byte類型也稱為字節(jié)類型, 是Java中最小數(shù)據(jù)類型,其內(nèi)部是8位2進制數(shù)字。有效數(shù)值范圍:-128~127。由于有效范圍很小,其用途也是很有限。一般用來表示內(nèi)存中或者文件中的最小存儲單元。

提示:2進制知識在后續(xù)的一個獨立課程單元中講解。

案例:

byte max = Byte.MAX_VALUE; //最大值

byte min = Byte.MIN_VALUE; //最小值

System.out.println(max);

System.out.println(min);

byte b = 120;

System.out.println(b);

byte b1 = 128; //編譯錯誤,不能超過 byte 范圍

Byte 是Java提供的包裝類API, 在API課程階段會詳細講解其功能。

2.2 short 類型

short類型是Java中存儲整數(shù)數(shù)據(jù)范圍較小的數(shù)據(jù)類型,內(nèi)部是一個16位2進制數(shù)字,其有效范圍-32768~32767,由于其范圍小,在程序中很少使用。Java的設計者為了保持與傳統(tǒng)C語言兼容而設計了short數(shù)據(jù)類型。

除了考試時候能夠遇到short類型,實際開發(fā)中極少使用short類型。

由于short占有16位2進制數(shù),其長度恰巧數(shù)byte類型2進制數(shù)的兩倍,也稱一個short數(shù)據(jù)占有2字節(jié)

案例:

short max = Short.MAX_VALUE;

short min = Short.MIN_VALUE;

System.out.println(max);

System.out.println(min);

short s = 12000;

System.out.println(s);

short s1 = 32777; //編譯錯誤,32777 超過short范圍

與Byte類似Short也是包裝類,在后期課程中詳細講解Short包裝類的用途

2.3 int 類型

int類型是Java中最常用的整數(shù)類型,在計算機內(nèi)部是一個32位2進制數(shù)字,范圍是-2147483648 ~2147483647。這個范圍非常實用,可以涵蓋大多數(shù)整數(shù)用途,所以int用途最多最廣。

因為int在內(nèi)存中的2進制數(shù)字是32位數(shù),其2進制位長度是byte類型長度的4倍,也稱int在內(nèi)存中占有4個字節(jié)。

整數(shù)直接量

int整數(shù)使用事項:

l直接給出的整數(shù)常數(shù)稱為整數(shù)“直接量”,Java所有整數(shù)“直接量”都是int類型。“整數(shù)直接量”不能超過int范圍。

?默認的整數(shù)直接量是 10進制 直接量,數(shù)字:0123456789

?使用0x開頭的直接量是 16進制 直接量,數(shù)字:0123456789abcdef

?使用0開頭的直接量是 8進制 直接量,數(shù)字:01234567

?使用0b開頭的直接量是 2進制 直接量,數(shù)字:01

l整數(shù)不能存儲小數(shù)。

l整數(shù)計算結(jié)果也是整數(shù),并且除法結(jié)果是整除結(jié)果

l整數(shù)計算時如果超過整數(shù)范圍會自動溢出,溢出時候不會報錯誤。

?要了解整數(shù)范圍,預估計算結(jié)果,如果可能溢出就更換為long類型計算。

整數(shù)“直接量”也稱為整數(shù)“字面量”,都是指直接給出的整數(shù)常數(shù)。

16進制、8進制、2進制和10進制的關系,在后面2進制課程中專門講述。

案例:

int max = Integer.MAX_VALUE;

int min = Integer.MIN_VALUE;

System.out.println(max);

System.out.println(min);

int a = 1000000; //10進制

int b = 0xef12ab; //16進制

int c = 0123; //8進制

int d = 0b1110111 //2進制

System.out.println(a);

System.out.println(b);

System.out.println(c);

System.out.println(d);

int e = 0128; //超過范圍 0~7

int f = 0x13efk;//超過范圍 0~9 a~f

int g = 0b12 //超過范圍

//int 類型除法計算結(jié)果是整除結(jié)果

int n = 7/2;

System.out.println(n);

//int 計算時候超過范圍會溢出

int m = max + 1; //溢出為最小值

System.out.println(m);

最大值加1溢出為最小值的原理會在2進制課程中講解。