1. 程式人生 > 其它 >Java語言的程式設計基礎_資料型別

Java語言的程式設計基礎_資料型別

資料型別

資料型別的分類

•在Java語言中資料型別主要分為兩大類:
•(1)基本資料型別(記住)
byte、short、int、long、float、double、boolean、char
•(2)引用資料型別(瞭解)
陣列、類、介面、列舉、標註

常用的進位制

•在日常生活中採用十進位制進行資料的描述,逢十進一,十進位制權重是:10^0、10^1、10^2、...
•在計算機的底層採用0和1組成的二進位制序列進行資料的描述,逢二進一,二進位制的權重是2^0、2^1、2^2、...
•二進位制中的最高位(最左邊)用於代表符號位,若該位是0則表示非負數,若該位是1則表示負數。
•八進位制和十六進位制其實都是二進位制的簡寫

進位制之間的轉換

•正十進位制轉換為二進位制的方式

a.除2取餘法,使用十進位制整數不斷地除以2取出餘數,直到商為0時將餘數逆序排序。
b.拆分法,將十進位制整數拆分為若干個二進位制權重的和,有該權重下面寫1,否則寫0。

•正二進位制轉換為十進位制的方式

a.加權法,使用二進位制中的每個數字乘以當前位的權重再累加起來

•負十進位制轉換為二進位制的方式

a.先將十進位制的絕對值轉換為二進位制,然後進行按位取反再加1。
•負數的需要補碼:按位取反,再加1 。

•負二進位制轉換為十進位制的方式

a.先減1再按位取反,合併為十進位制整數後新增負號。

單個位元組表示的整數範圍(重中之重)

•在計算機中單個位元組表示八位二進位制位,其中最高位(最左邊)代表符號位,使用0代表非負數,使用1代表負數,具體表示的整數範圍如下:
•非負數表示範圍:0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1
•負數表示範圍:1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0
•單個位元組表示的整數範圍是:-2^7 ~ 2^7-1,也就是-128 ~ 127.

整數型別

•Java語言中描述整數資料的型別有:byte、short、int、long,薦int型別
•其中byte型別在記憶體空間中佔1個位元組,表示範圍是:-2^7 ~ 2^7-1.
•其中short型別在記憶體空間中佔2個位元組,表示範圍是:-2^15 ~ 2^15-1.
•其中int型別在記憶體空間中佔4個位元組,表示範圍是:-2^31 ~ 2^31-1.
•其中long型別在記憶體空間中佔8個位元組,表示範圍是:-2^63 ~ 2^63-1.
•在Java程式中直接寫出的整數資料叫做直接量/字面值/常量,預設為int型別。若希望表達更大的直接量,則在直接量的後面加上l或者L,推薦L。

浮點型別

•Java語言中用於描述小數資料的型別:float 和double,推薦double型別
•其中float型別在記憶體空間佔4個位元組,叫做單精度浮點數,可以表示7位有效數字,範圍:-3.403E38~3.403E38。
•其中double型別在記憶體空間佔8個位元組,叫做雙精度浮點數,可以表示15位有效數字,範圍:-1.798E308~1.798E308。
•Java程式中直接寫出的小數資料叫做直接量,預設為double型別,若希望表達float型別的直接量,則需要在直接量的後面加上f或者F.

布林型別

•Java語言中用於描述真假資訊型別有:boolean,數值只有:true 和false。
•布林型別在記憶體空間中所佔大小沒有明確的規定,可以認為是1個位元組。

字元型別

•Java語言中用於描述單個字元的資料型別:char型別。如:'a'、'中'等。
•其中char型別在記憶體空間中佔2個位元組並且沒有符號位,表示的範圍是:0 ~ 65535,由於現實生活中很少有資料能夠被單個字元描述,因此以後的開發中更多的使用由多個字串起來組成的字串,使用String型別加以描述,如:“hello”、“奇點”等。

•計算機的底層只識別0和1組成的二進位制序列,對於字元'a'這樣的圖案來說不滿足該規則,因此該資料無法直接在計算機中儲存,但現實生活中存在這樣的圖案資料需要計算機儲存,為了使得該資料能夠儲存起來就可以給該資料指定一個編號,然後將編號儲存起來即可,該編號就叫做ASCII。

•要求掌握的ASCII有:'0' -48 'A' -65 'a' -97 空格-32 換行符-10

•Java字元型別採用Unicode字符集編碼。Unicode是世界通用的定長字符集,所有的字元都是16位。
•要求掌握的轉義字元有:\" -" \' -' \\-\\t -製表符\n -換行符

基本資料型別之間的轉換

•Java語言中基本資料型別之間的轉換方式:自動型別轉換和強制型別轉換。
•其中自動型別轉換主要指從小型別到大型別之間的轉換。

•其中強制型別轉換主要指從大型別到小型別之間的轉換,語法格式如下:
目標型別變數名= (目標型別)源型別變數名;
強轉有風險,操作需謹慎!