一、流程控制
1、順序結(jié)構(gòu)
程序默認(rèn)的結(jié)構(gòu),自上而下的執(zhí)行
2、選擇結(jié)構(gòu)
(1)if語(yǔ)句
(1)if 單選擇結(jié)構(gòu)
(2)if-else 雙選擇機(jī)構(gòu)
(3)if-else if-else 多選擇結(jié)構(gòu)
(2)Swich語(yǔ)句
switch(變量){
?? case 值:要執(zhí)行的語(yǔ)句;break;
?? …
??default:要執(zhí)行的語(yǔ)句;
??}
3、循環(huán)結(jié)構(gòu)
(1)while循環(huán)
(2)do-While循環(huán)
(3)for循環(huán)
(4)增強(qiáng)for循環(huán)
break:作用于switch ,和循環(huán)語(yǔ)句,用于跳出,或者稱為結(jié)束。
continue:只作用于循環(huán)結(jié)構(gòu),繼續(xù)循環(huán)用的。結(jié)束本次循環(huán),繼續(xù)下次循環(huán)。
return:結(jié)束方法的運(yùn)行。
二、方法
1、方法的定義
訪問(wèn)權(quán)限符 返回值 方法名(參數(shù)列表){
方法體
}
(1)沒(méi)有具體的返回值時(shí),返回的返回值類型用void關(guān)鍵字表示。
(2)如果函數(shù)的返回值類型是void時(shí),return語(yǔ)句可以省略不寫(xiě)的,系統(tǒng)會(huì)幫你自動(dòng)加上。
(3)方法的名稱,避免使用到j(luò)ava關(guān)鍵字,并且首字母小寫(xiě),命名時(shí)使用駝峰命名法
駱駝式命名法(Camel-Case)又稱駝峰式命名法,是電腦程式編寫(xiě)時(shí)的一套命名規(guī)則(慣例)。正如它的名稱CamelCase所表示的那樣,是指混合使用大小寫(xiě)字母來(lái)構(gòu)成變量和函數(shù)的名字。程序員們?yōu)榱俗约旱拇a能更容易的在同行之間交流,所以多采取統(tǒng)一的可讀性比較好的命名方式。
2、訪問(wèn)修飾符

2.1 public
- (1)定義:public是公共的,被public所修飾的成員可以在任何類中都能被訪問(wèn)到。
- (2)作用域:public能用來(lái)修飾類,在一個(gè)java源文件中只能有一個(gè)類被聲明為public,而且一旦有一個(gè)類為public,那這個(gè)java源文件的文件名就必須要和這個(gè)被public所修飾的類的類名相同,否則編譯不能通過(guò)。public用來(lái)修飾類中成員(變量和方法),被public所修飾的成員可以在任何類中都能被訪問(wèn)到。通過(guò)操作該類的對(duì)象能隨意訪問(wèn)public成員。public在類的繼承上的體現(xiàn),被public所修飾的成員能被所有的子類繼承下來(lái)。
2.2 protected
- (1)定義:protected是受保護(hù)的,受到該類所在的包所保護(hù)。
- (2)作用域:被protected所修飾的成員會(huì)被位于同一package中的所有類訪問(wèn)到。同時(shí),被protected所修飾的成員也能被該類的所有子類繼承下來(lái)。(注意:這里是指同一個(gè)package或者不同的package中的子類都能訪問(wèn))
2.3 default
- (1)定義:default是默認(rèn),缺省的,即在成員的前面不寫(xiě)任何的訪問(wèn)修飾符的時(shí)候,默認(rèn)就是友好的。所謂友好的,是對(duì)同一package的類友好。
- (2)作用域:同一package中的所有類都能訪問(wèn)。被friendly所修飾的成員只能被該類所在同一個(gè)package中的子類所繼承下來(lái)。(也就是說(shuō)只有在同一個(gè)package中的子類才能訪問(wèn)到父類中friendly修飾的成員)
2.4 private
- (1)定義:private是私有的,即只能在當(dāng)前類中被訪問(wèn)到,它的作用域最小。
- (2)作用域:private可以修飾數(shù)據(jù)成員,構(gòu)造方法,方法成員,不能修飾類(此處指外部類,不考慮內(nèi)部類)。被private修飾的成員,只能在定義它們的類中使用,在其他類中不能調(diào)用。
3、方法的調(diào)用
(1)類名.方法()
(2)對(duì)象.方法()
4、方法重載
在一個(gè)類中,如果出現(xiàn)了兩個(gè)或者兩個(gè)以上的同名方法,只要它們的參數(shù)的個(gè)數(shù)不同,或者參數(shù)的類型不同,即可稱之為該方法重載了。
5、遞歸
遞歸,即自己調(diào)用自己(自身調(diào)用、遞歸出口)
遞歸算法是一種直接或間接地調(diào)用自身的算法。在計(jì)算機(jī)編寫(xiě)程序中,遞歸算法對(duì)解決一大類問(wèn)題是十分有效的,它往往使算法的描述簡(jiǎn)潔而且易于理解。
6、可變參數(shù)
(1)當(dāng)參數(shù)的個(gè)數(shù)不定時(shí),可以使用可變參數(shù)
(2)可變參數(shù)的寫(xiě)法:int…a 前面為參數(shù)類型,中間加三個(gè)點(diǎn),后面為參數(shù)名
(3)使用規(guī)則:
可變參數(shù)只能位于參數(shù)列表的最后一個(gè)
可變參數(shù)有且只有一個(gè)
(4)可變參數(shù)的原理為數(shù)組,傳入?yún)?shù)時(shí),根據(jù)傳入的參數(shù)自動(dòng)生成匹配的數(shù)組類型,數(shù)組長(zhǎng)度等于傳入的參數(shù)個(gè)數(shù),數(shù)組元素為傳入的實(shí)參
public class Text2 {
public static void main(String[] args) {
int sum = addSum(1,2,3,4,5,6,7,8,9);
System.out.println(sum);
}
private static int addSum(int ...a) {
int add = 0;
//將數(shù)組元素(即傳入的參數(shù))求和
for (int i = 0; i < a.length; i++) {
add += a[i];
}
return add;
}
}
三、數(shù)組
1、數(shù)組的定義
用于存儲(chǔ)同一類型數(shù)據(jù)的一個(gè)容器。好處:可以對(duì)該容器中的數(shù)據(jù)進(jìn)行編號(hào),從0開(kāi)始。數(shù)組用于封裝數(shù)據(jù),就是一個(gè)具體的實(shí)體。
(1)元素類型[] 變量名 = new 元素類型[元素1,元素2…];
(2)元素類型[] 變量名 = {元素1,元素2…};
(3)必須是同一個(gè)類型
2、數(shù)組的使用
(1)通過(guò)數(shù)組下標(biāo)取值
(2)ArrayIndexOutOfBounds 數(shù)組越界
(3)for循環(huán)遍歷
3、二維數(shù)組
(1)二維數(shù)組可以看作是特殊的一維數(shù)組,在聲明二維數(shù)組的同時(shí)用new為二維數(shù)組分配內(nèi)存空間,然后才能訪問(wèn)每個(gè)元素
(2)數(shù)組類型[][] 數(shù)組名 = new 數(shù)組類型[一維數(shù)組的個(gè)數(shù)][每一個(gè)一維數(shù)組中元素的個(gè)數(shù)];
4、Arrays工具類
Java中為我們提供了數(shù)組相關(guān)的一個(gè)工具類,使用該工具類可以方便的輸出編輯數(shù)組。
工具類只有靜態(tài)方法。常見(jiàn)的有:
(1)toString()
將數(shù)組轉(zhuǎn)化為字符串,有多個(gè)重載方法,可以支持boolean、float、int、long、short對(duì)象數(shù)組。
(2) sort()
將數(shù)組升序排列,是一個(gè)改進(jìn)的快速排序,比起傳統(tǒng)的冒泡,選擇排序速度更快
(3)binarySearch(int[] a,int key)
二分法查找數(shù)組,返回值為int型
5、排序算法
常見(jiàn)的排序算法有:
