p18
基本數據類型
- 整數:byte、short、int(默認)、long
- 浮點數:float、double(默認)
- 字符:char
- 布爾:boolean
引用數據類型
- 類
- 數組
- 接口
- 字符串
- Lambda
p22、p23、p24
自動類型轉換(隱式)
- 自動完成
- 數據範圍從小到大
強制類型轉換(顯式)
- 格式:範圍小的類型 變量名 =(範圍小的類型)原本範圍大的數據
- 一般不推薦使用,可能發生精度損失(不是四捨五入,把小數位直接省掉)或者數據溢出
- byte/short/char都可以發生數學運算,運算時先提升成int類型再進行計算
- boolean類型不能發生數據類型轉換
p25
ASCII碼錶,數字和字符的對應關係
Unicode碼錶,也是數字和符號的對應表,0-127和ASCII一樣,從128開始包含更多字符
- ‘0’---->48
- ‘A’----->65
- ‘a’----->97
p27
加號的用法
- 數值加法
- char升級成int再加法
- String類型字符串連接。任何數據類型和String加法都變成String類型
p31
邏輯運算符:
- 與&&
- 或||
- 非!
- 邏輯運算符只能用於boolean
p32
一元運算符:例如!、++、–
二元運算符:例如+、-
三元運算符:需要三個數據才能進行運算。(格式:數據類型 變量名稱=條件判斷?表達式A:表達式B)
- 三元運算符的結果必須被使用
p34、p35
定義方法格式:
public static void 方法名稱()
{
方法體;
}
方法定義的先後順序無關
方法不能產生嵌套包含關係
方法調用:
- 格式:方法名稱()
p37
對於byte/short/char三種類型,如果右側賦值數值沒有超過對應範圍,javac編譯器會自動補上強制轉換
p56
IDE 集成開發環境
p61
IDEA常用快捷鍵
- alt+enter 導入包,自動修正代碼
- ctrl+y 刪除光標所在行
- ctrl+d 複製光標所在行的內容,插入光標位置下面
- ctrl+alt+l 格式化代碼
- ctrl+/ 單行註釋,再按取消註釋
- ctrl+shift+/ 選中代碼註釋,多行註釋,再按取消註釋
- alt+ins 自動生成代碼,toString、get、set等方法
- alt+shift+上下箭頭 移動當前代碼
- psvm回車後自動生成main
- sout回車後自動生成System.out.println()
- 數字+.+fori,回車自動生成循環數字次數的for循環for(int i=0;i<數字;i++)
p63
- 方法的定義與先後順序無關
- 方法定義不能嵌套
- 方法不會自動執行,必須進行方法調用
p73
重載overload。方法名稱一樣,參數列表不一樣。
- 參數個數不同、參數類型不同、參數多類型順序不同
- 與方法的返回值無關、與參數的名稱無關
- 重載和static或public都沒關係,有其他全部一樣的就衝突了
p79、p80、p81
數組初始化方式
- 動態初始化,指定長度
- 數據類型[ ] 數組名稱= new 數據類型 [數組長度]
- 靜態初始化,指定內容
- 數據類型[ ] 數組名稱=new 數據類型[ ] {元素1,元素2… }
- 省略格式: 數據類型[ ] 數組名稱={元素1,元素2,…},靜態初始化省略格式不能拆分爲兩個步驟
p83
- 動態數組初始化擁有自動的默認值
- int 0
- double 0.0
- char ‘\u0000’
- boolean false
- 引用 null
p84
java內存劃分:
- 棧stack
- 局部變量:方法的參數,方法內部的變量
- 作用域:一旦超出作用域,立馬從內存中消失
- 堆heap
- 堆內存中的東西都有地址值,是十六進制的
- 堆內存的數據都有內存值
- 方法區method area
- 存儲.class的信息,包括方法的信息
- 本地方法棧native method area
- 與操作系統相關
- 寄存器pc register
- 與cpu相關
p89
- 所有的引用類型變量都可以賦值爲null
- 如果只賦值爲null而沒有new就會發生NullPointerException異常
p96
- 面向過程:實現功能時按照具體步驟,詳細處理細節
- 面向對象:不關心具體步驟(封裝、繼承、多態)
p99
- 對象具有屬性和行爲,映射到java中就是成員變量(屬性)和成員方法(行爲)
- 成員變量直接定義在類當中,在方法外面
- 成員方法不寫static關鍵字
p100
- 通常情況下一個類並不能直接使用,需要根據類創建對象
- 導包 import 包名.類名(當前類屬於同一個包時可以省略導包語句)
- 創建 類名稱 對象名=new 類名稱();
- 使用
- 使用成員變量 對象名.成員變量名
- 使用成員方法 對象名.成員方法名()
- 成員變量如果沒有賦值,會有默認值