關於java中的數據類型:java
一、數據類型的做用是什麼?數組
程序當中有不少數據,每個數據都是有相關類型的,不一樣數據類型的數據佔用空間大小不一樣。編碼
數據類型的做用是指導JVM在運行程序的時候給該數據分配多大的內存空間。spa
二、java中的數據類型包括兩種:接口
-類內存
-接口字符串
-數組it
....字符編碼
三、關於基本數據類型:亂碼
第一類:整數型
第二類:浮點型
第三類:布爾型
第四類:字符型
八小種: byte,short,int,long,float,double,boolean,char
四、字符串String不屬於基本數據類型範疇,屬於引用數據類型
java中除了基本數據類型,剩下的都是引用數據類型
五、8種基本數據類型中
整數型:byte,short,int,long有什麼區別?
浮點型:float,double有什麼區別?
區別:佔用空間大小不一樣
八種基本數據類型各自佔用空間大小是多少?
基本數據類型 佔用空間大小【單位:字節】
byte 1
short 2
int 4
long 8
float 4
double 8
boolean 1
char 2
六、什麼是二進制?
數據的一種表現形式。十進制滿十進一原則,二進制滿二進一原則。
二進制轉換十進制
8 4 2 1
十進制轉換二進制
短除法:除以二,而後餘數逆序輸出
七、計算機的存儲單位
計算機在任何狀況下都只能識別二進制。例如:只認識101010101.....
【現代的計算機底層採用交流電的方式,接通和斷開就兩種方式,計算機只識別1或0,其它不認識】
字節(byte)
1 Byte=8 bit【1個字節=8個比特位】 1個比特位表示一個二進制位:1或者0
1 KB=1024 Byte
1 MB=1024 KB
1 GB=1024 MB
1 TB=1024 GB
1TB=1024*1024*1024*1024*8;//1個TB能存儲多少1和0?
byte b = 2;在計算機中是這樣表示的:00000010
short s = 2;在計算機中是這樣表示的:00000000 00000010
int i = 2;在計算機中是這樣表示的:00000000 00000000 00000000 00000010
...
八、整數型當中的byte類型,佔用一個字節,因此byte類型的數據佔用8個比特位。那麼byte類型的取值範圍是?
關於java的數字類型,數字都是有正負之分的,因此在數字的二進制當中有一個二進制位被稱爲「符號位」,而且這個符號位在全部二進制位的最左邊,0表示正數,1表示負數。
byte類型最大值:01111111
【
00000000 00000000 00000000 10000000(二進制)
減去1結果是:
00000000 00000000 00000000 01111111(二進制)
】
byte類型最大值:2的7次方 -1 ,結果是:127
byte類型最小值:-128
(1個字節)byte類型取值範圍:-128 ~ 127
(2個字節)short :[-32768 ~ 32767] 能夠表示65536個不一樣的數字
(4個字節)int:[-2147483648 ~ 2147483147]
(2個字節)char:[0 ~ 65535] 能夠表示65536個不一樣的數字
short和char實際上容量相同,不過char能夠表示更大的數字。由於char表示的是文字,文件沒有正負之分,因此char能夠表示更大的數字。
byte類型可表示256個不一樣的數字,則可表示256個不一樣的二進制
九、字符編碼
計算機最初只支持英文,最早出現的字符編碼是:ASCII碼
'a'-->97【01100001】
'A'-->65
'0'-->48
'a' --(按照ASCII解碼)-->01100001
01100001---按照ASCII編碼-->'a'
解碼和編碼的時候採用同一套字典/對照表,不會出現亂碼。
當解碼和編碼的時候採用的不是同一套對照表,會出現亂碼問題。