第一章
- 資料類型轉換
- 資料類型範圍從小到大排序(byte < char < short < int < long < float < double),布爾類型Boolean不能參與類型轉換;
- 自動類型轉換,範圍小的資料類型向範圍大的資料類型轉換時使用;
- 強制類型轉換,範圍大的資料類型向範圍小的資料類型轉換時使用。
- 算數運算符
- 用來完成算數運算(如加減乘除計算等)
- ++,--運算符的使用
- ++,--前置(如++a),當參與運算時,變量a的值先自增1,然後用自增後的新值再參與運算;
- ++,--後置(如a++),當參與運算時,變量a先使用原有值參與運算符,變量a的值再自增1。
- 指派運算符
- 用來完成資料的指派(如 int a = 100;)
- +=,-,*=,/=這樣的指派運算符包含了一個強制轉換的操作,會将左右兩邊運算後的結果,強制類型轉換後指派給左邊
int n = 10;
byte by = 20;
by += n; // 運算完畢後,by的值為byte類型30, 相當于代碼 by = (byte)(by + n);
- 比較運算符
- 用來比較資料的大小(如 3>4),比較運算符也稱為條件運算符。
- 比較後的結果為布爾類型Boolean的值
- “==”兩個等号代表比較是否相等,“=”一個等号代表指派。
- 邏輯運算符
- 邏輯與& 和邏輯短路與&&:代表着并且的意思,左右兩邊都要條件成立,結果才為true;
- 邏輯或| 和邏輯短路或||:代表着或者的意思,左邊兩邊有一個條件成立,結果就為true;
- 邏輯非!:代表着相反的意思,原先是false,結果就為true;原先是ture,結果就為false;
- 邏輯異或^: 左右兩邊條件結果相同,結果就為false,左右兩邊條件結果不同,結果就為true;
- 三元運算符
- 根據判斷條件運算結果,執行不同的表達式值;條件為true,執行表達式1,否則,執行表達式2。
第二章
- 選擇結構 if
- 方式1:
格式:
if(條件表達式) {
語句體;
}
執行流程:
如果條件表達式值為true, 執行語句體
如果條件表達式值為false,不執行語句體
-
- 方式2:
格式:
if(條件表達式) {
語句體1;
} else {
語句體2;
}
執行流程:
如果條件表達式值為true, 執行語句體1
如果條件表達式值為fales,執行語句體2
-
- 方式3:
格式:
if(條件表達式1) {
語句體1;
} else if (條件表達式2) {
語句體2;
} else if (條件表達式n...) {
語句體n...
}
...
else {
語句體n+1;
}
執行流程:
哪一個條件表達式成立,執行對應的語句體,
如果所有的條件表達式都不成立,執行最後else中的語句體
-
- 注意事項:
1,條件表達式無論是簡單還是複雜,結果都是boolean類型的值
2, 如果語句體隻有一條語句,大括号可以省略,
如果是多條語句,大括号不能省略,建議什麼時候都寫上大括号
- 循環語句For
- 格式:
for (初始化表達式;條件表達式; 控制條件表達式) {
語句體;
}
-
- 執行流程:
1,初始化表達式;
2,條件表達式
如果結果為true, 執行語句體
如果結果為flase, 循環結束
3, 當語句體執行後, 執行控制條件表達式
4,接下來,回到第二步, 直到條件表達式為false 循環結束
- 循環語句 while
- 格式:
初始化表達式;
while (條件表達式) {
語句體;
控制條件表達式;
}
-
- 執行流程;
1,初始化表達式;
2,條件表達式
如果結果為true, 執行語句體
如果結果為flase, 循環結束
3, 當語句體執行後, 執行控制條件表達式
4,接下來,回到第二步, 直到條件表達式為false 循環結束跳轉語句(break、continue)
- 循環語句 do...while
- 格式:
初始化表達式;
do {
語句體;
控制條件表達式;
} while (條件表達式);
-
- 執行流程:
1,初始化表達式;
2, 執行語句體
3, 執行控制條件表達式
4, 執行條件表達式,
如果結果為true, 繼續執行語句體
如果結果為false, 循環結束
- 跳轉控制語句
break; 跳出循環
continue; 結束本次循環
- Scanner類
- 擷取鍵盤錄入的資料,對擷取資料的具體操作進行了封裝,隻需要調用方法,即可得到鍵盤錄入的資料。
- 常用的方法
public int nextInt():擷取鍵盤錄入的資料,傳回int類型值
public String next():擷取鍵盤錄入的資料,傳回String類型值
- Random類:随機數類,用來産生多種類型的随機數
- 方法:
public int nextInt(int n) 傳回一個,在 0(包括)和指定值(不包括)之間int随機數
第四章
- 數組
- 它是一個用來存儲同一個資料類型多個元素的一個容器(數組長度是固定的,數組中存儲的元素的資料類型要求一緻)
- 格式:
格式1:
資料類型[] 數組名 = new 資料類型[數組長度];
格式2:
資料類型[] 數組名 = new 資料類型[]{元素值1,元素值2,..};
格式3:
資料類型[] 數組名 = {元素值1,元素值2,..};
-
- 數組操作的常見問題:
NullPointerException: 空指針異常
ArrayIndexOutOfBoundsException: 數組越界異常
- 二維數組:
- 它是一個包含多個一維數組的數組
- 特點:二維數組中的每個元素都是一個一維數組
- 格式:
格式1:
資料類型[][] 數組名 = new 資料類型[m][n];
m: 代表二維數組中一維數組的個數
n: 代表每個一維數組中元素的個數
格式2:
資料類型[][] 數組名 = new 資料類型[m][];
m: 代表二維數組中一維數組的個數
每一個一維數組通過指派來确定數組長度
格式3:
資料類型[][] 數組名 = {{元素值1,元素值2,..},{元素值1,元素值2,..},..};
第五章
- 方法
- 格式:
修飾符 傳回值類型 方法名(參數類型 參數名1, 參數類型 參數名2, ...) {
方法體;
return 傳回值;
}
-
- 方法使用的注意事項:
1,方法不調用,自己不執行
2,方法中不能定義方法, 但是,方法中可以調用方法
3, 方法定義的位置在類中,其他方法的外面
4, 如果方法沒有明确的傳回值類型,使用'空'類型, void表示
5,void隻能在方法傳回值類型位置使用,不能作為 普通的資料類型使用
6, 如果方法傳回值類型為void類型,可以省略 return ;
-
- 方法調用方式:
有明确傳回值類型的方法調用方式:
1,單獨調用
2,輸出調用
3,指派調用
沒有明确傳回值類型的方法調用方式:
- 單獨調用
- 方法重載:
方法重載,在同一個類中,出現了多個同名的方法,他們的參數清單不同 (參數清單的個數不同,參數清單的資料類型不同,參數清單的順序不同)。
方法重載特點:
與方法的傳回值類型無關,與方法的參數名無關,隻看方法名與參數清單;
方法重載,是通過JVM來完成同名方法的調用的,通過參數清單來決定調用的是哪一個方法。
第六章
- 引用資料類型(類)
- 類的類型為兩種:
- 第一種,Java為我們提供好的類,如Scanner類,Scanner類等,這些已存在的類中包含了很多的方法與屬性,可供我們使用。
- 第二種,我們自己建立的類,按照類的定義标準,可以在類中包含多個方法與屬性,來供我們使用。
- 建立類的格式
- 類的類型為兩種:
public class 類名 {
//可以定義屬性
//也可以定義方法
}
-
- 使用類的格式:
類名 變量名 = new 類名();
-
- 使用類中的屬性與方法格式
使用屬性: 變量名.屬性
使用方法: 變量名.方法()
- ArrayList集合
- 它屬于引用資料類型(類)。我們可以看作一個長度可變的數組。
- 建立集合的方式
ArrayList<要存儲元素的資料類型> 變量名 = new ArrayList<要存儲元素的資料類型>();
-
- 集合中的常用方法
- boolean add(Object obj)
- Object get(int index)
- int size()
- boolean add(int index, Object obj)
- Object set(int index, Object obj)
- Object remove(int index)
- void clear()
- 集合中的常用方法