|
大連服務外包公共培訓服務平臺 |
1 什么是Java 基本數據類型
前面講過變量,程序中的變量是一個存儲單元,用于存儲程序中的數據。而今天講的數據類型是用來約定變量存儲空間的大小。約定變量存儲空間大小的目的是根據數據大小選擇合適的存儲空間,將合適的數據存儲到相應大小的存儲空間可以避免計算機資源浪費,提高軟件運算性能。
Java中基本數據類型一共有4類8種:
2 整數類型
Java整數類型一共有4種, 用于存儲各個范圍的整數:
整數類型只能存儲整數,不能存儲小數,小數需要采用float或者double類型存儲。
2.1 byte 類型
byte類型也稱為字節(jié)類型, 是Java中最小數據類型,其內部是8位2進制數字。有效數值范圍:-128~127。由于有效范圍很小,其用途也是很有限。一般用來表示內存中或者文件中的最小存儲單元。
提示: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中存儲整數數據范圍較小的數據類型,內部是一個16位2進制數字,其有效范圍-32768~32767,由于其范圍小,在程序中很少使用。Java的設計者為了保持與傳統C語言兼容而設計了short數據類型。
除了考試時候能夠遇到short類型,實際開發(fā)中極少使用short類型。
由于short占有16位2進制數,其長度恰巧數byte類型2進制數的兩倍,也稱一個short數據占有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中最常用的整數類型,在計算機內部是一個32位2進制數字,范圍是-2147483648 ~2147483647。這個范圍非常實用,可以涵蓋大多數整數用途,所以int用途最多最廣。
因為int在內存中的2進制數字是32位數,其2進制位長度是byte類型長度的4倍,也稱int在內存中占有4個字節(jié)。
整數直接量
int整數使用事項:
l直接給出的整數常數稱為整數“直接量”,Java所有整數“直接量”都是int類型?!罢麛抵苯恿俊辈荒艹^int范圍。
?默認的整數直接量是 10進制 直接量,數字:0123456789
?使用0x開頭的直接量是 16進制 直接量,數字:0123456789abcdef
?使用0開頭的直接量是 8進制 直接量,數字:01234567
?使用0b開頭的直接量是 2進制 直接量,數字:01
l整數不能存儲小數。
l整數計算結果也是整數,并且除法結果是整除結果
l整數計算時如果超過整數范圍會自動溢出,溢出時候不會報錯誤。
?要了解整數范圍,預估計算結果,如果可能溢出就更換為long類型計算。
整數“直接量”也稱為整數“字面量”,都是指直接給出的整數常數。
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 類型除法計算結果是整除結果
int n = 7/2;
System.out.println(n);
//int 計算時候超過范圍會溢出
int m = max + 1; //溢出為最小值
System.out.println(m);
最大值加1溢出為最小值的原理會在2進制課程中講解。