2014年12月15日 星期一

JAVA7-課程2

期待已久的 iPad Air 2,終於到手啦!
帶著它上課去~


    這次課程內容主要介紹符號運算的優先順序,光「+」號就有必須要注意的事情,如果「+」號前後有字串,則Java會自動使用字串連結,所以你想要做運算,必須確認符號的優先順序,需要時必須加上括號才不會出問題。


    老師請我們把錯誤訊息COPY下來,沒想到 命令提示字元 對著左上角 案右鍵 會出現一個選單,就可以在編輯裡找到 標記 與 複製 了!

    在來印象深刻的內容是在 位元運算 時,記憶體如何配置與對應的數字。當宣告一個整數時,Java會配置32 bit 的記憶體來儲存,其中最左邊的1 bit 是用來紀錄正負號,所以只剩下31 bit 可用來表示數字,最大數字為正2的31次方減1 = 2,147,483,647,最小為負2的31次方 = -2,147,483,648。
※位元邏輯運算  8 & 9 = 8
※位元邏輯運算  8 | 9 = 9

記憶體儲存正整數與負整數方式。
所以 ~ 3 = -4; ~(-4) = 3。
        ~ 127 = -128; ~(-128) = 127。
有號數左移 << , 有號數右移 >> 產生出的數值都是正常的;唯獨
無號數右移>>>, 數字會難以想像。如8>>>2 = 2;
-8>>>2 = 1073741822。



不同資料型態,配置不同的記憶體。
整數
byte                8bits
short               16bits
int(預設)        32bits
long                64bits

浮點數
float                 32bits
double(預設)   64bits

    當這樣宣告時,會出錯 long k = 2200000000;  (因為22億預設的資料型態為int,超過2147483648)
    必須改成這樣宣告 long k = 2200000000L; (數字後面多加 L,直接把22億宣告為64bits。)
    在浮點數中,也有類似的事情發生,必須多加注意。

另外 在宣告變數時, byte 初始值可以使用字元'A' (ASCII);而char 初始值可以是數字65(ASCII)。故,Java儲存在記憶體中都是轉換成數字,再用內建的unicode對照表對應輸出。

條件式邏輯運算
♠捷徑and ( && ) (ShortCut and):如果第一個條件為false,則不執行第二個條件。
♠捷徑or ( || ) (ShortCut or):如果第一個條件為true,則不執行第二個條件。
♥非捷徑and ( & ):兩個條件都必須要執行!
♥非捷徑or  ( | ) :兩個條件都必須要執行!


輸入指令
    java.util.Scanner  物件參考變數 = new  java.util.Scanner(System.in)
     (資料夾名稱)

※下圖為 物件 語法 以及 記憶體配置概念。

後記:
    1.更深刻瞭解記憶體如何儲存正整數與負整數。
    2.瞭解輸入指令的宣告方式,並對物件有基礎的認識。
    3.OpenOffice沒有再開發了!改成LibraOffice。
    4.a++與++a的不同是後置的++碰到它要執行時,是把它的執行順序調整到最後再執行。
    5.今天開車回家時,才發現彰化火車站附近原來有許多吃的!

沒有留言:

張貼留言