1. 程式人生 > 其它 >Java基礎語法2

Java基礎語法2

2. 資料型別

  • 強型別語言
    • 變數的使用要嚴格符合規定,所有變數必須先定義後使用
    • 安全性高,相應的,速度會下降
  • 與之相對應的就是,弱型別語言,像JS等
  • Java的資料型別分為兩大類
    • 基本型別(primitive type)
    • 引用型別(reference type)

補充:

  • long型別要在數字後面加個L,float需要加個F,(此處大小寫均可)
  • long與Long不一樣,long是基本資料型別,Long是long的包裝類,在Java中有的時候運算是需要在兩個類物件之間進行的,不允許物件和數字之間進行運算,所以需要有一個物件,這個物件把數字進行了一下包裝,這樣就可以和另一個物件進行運算了。

什麼是位元組

  • 位(bit):是計算機內部資料儲存的最小單位,10101011是一個八位二進位制數。
  • 位元組(byte):是計算機中資料處理的基本單位,習慣用B來表示。
  • 字元:是計算機中使用的字母、數字、字和符號。
    • 1B=8bit
    • 1KB=1024B
    • 1MB=1024KB
    • 1GB=1024MB

思考:電腦64位和32位的區別是什麼?

拓展

整數擴充套件

進位制:

二進位制——以0b開頭

十進位制——不用多說

八進位制——以0開頭

十六進位制——以0x開頭

字元擴充套件

所有字元本質還是數字。

Unicode編碼:規定字元對應的二進位制碼如何儲存。

以十六進位制表示,範圍:U0000~UFFFF(\u轉義),2的16次方

轉義字元

Boolean擴充套件

boolean flag = true;
if(flag == true);等價於if(flag);

問題

銀行業務怎麼用資料型別表示?

  • 浮點數是不精確的。相對精確一點的說法是:我們碼農在程式力寫的10進位制小數,計算機內部無法用二進位制精確的表達。
  • 最好避免使用浮點數進行比較
  • 由於浮點數的這種“不精確性”或者說“近似性”,對於精確度不高的運算還行,如果我們用float或者double來做要求精確的運算就可能得不到你想要的結果。
  • 這種問題一般通過使用BigDecimal類來做精確運算。BigDecimal是一種數學工具類。