一、運算符號
1、算術運算符:
+ - * / % %:任何整數模2不是0就是1,所以只要改變被模數就可以實現開關 運算。
+:連接符。
++,--
2、賦值運算符:
= += -= *= /= %=
3、比較運算符:
特點:該運算符的特點是:運算完的結果,要麼是true,要麼是false。
4、邏輯運算符:
& | ^ ! && ||
邏輯運算符除了 ! 外都是用於連接兩個boolean類型表達式。
&: 只有兩邊都爲true結果是true。否則就是false。
|:只要兩邊都爲false結果是false,否則就是true。
^:異或:和或有點不一樣。
兩邊結果一樣,就爲false。
兩邊結果不一樣,就爲true.
& 和 &&區別:
& :無論左邊結果是什麼,右邊都參與運算;
&&:短路與,如果左邊爲false,那麼右邊不參數與運算;
| 和|| 區別:
|:兩邊都運算;
||:短路或,如果左邊爲true,那麼右邊不參與運算;
5、位運算符:
作用:用於操作二進制位的運算符;
& | ^
<< >> >>>(無符號右移)
二、循環語句
1、for 循環的格式:
(1)初始化 (2)判斷表達式 (4)變量自增或自減
for (int i = 1; i <= 10; i++) {
(3)執行語句塊
}
特點:先判斷,再執行。有次數的循環建議優先使用for循環
2、while 循環的格式:
int i = 0; (1)初始化
(2)判斷表達式
while (i <= 10) {
(3)循環代碼塊
(4)在代碼塊中加入變量的自增防止死循環
}
注意:while循環是次數不明確的情況下,優先使用,並且先判斷後執行。
3、do...while 循環
do...while 循環的格式:
do {
代碼執行快
}while (判斷表達式);
注意:1、do...while結構要以分號結束
2、do...while語句在失敗時至少會執行一次
3、do...while先執行,再判斷
4、for 、 while 、 do...while的區別:
判斷來源於需求,軟件開發來源於需求,需求來源於生活;
for和while、do...while先確定你是否需要次數,需要次數,優先用for。不需要次數再去抉擇使用while還是do...while;
for、while和do...while先確定是判斷還是先做一次,如果需要先做用do...while,要先判斷用for和while;
三、方法
1、java中的方法的定義格式:
修飾符 返回值類型 方法名(參數類型 形式參數1,參數類型 形式參數1,…){
執行語句;
return 返回值;
}
當方法沒有具體的返回值時,返回的返回值類型用void關鍵字表示。
如果方法的返回值類型是void時,return語句可以省略不寫的,系統會幫你自動加上。
return的作用:結束方法。結束功能。
2、如何定義一個方法?
方法其實就是一個功能,定義函數就是實現功能,通過兩個明確來完成:
a、明確該功能的運算完的結果,其實是在明確這個函數的返回值類型。
b、在實現該功能的過程中是否有未知內容參與了運算,其實就是在明確這個方法的參數列表(參數類型&參數個數)。
3、方法的作用:
a、用於定義功能。
b、用於封裝代碼提高代碼的複用性。
注意:方法中只能調用方法,不能定義函數。
4、主方法:
a、保證該類的獨立運行。
b、因爲它是程序的入口。
c、因爲它在被jvm調用。
5、重載
定義:在一個類中,如果出現了兩個或者兩個以上的同名函數,只要它們的參數的個數,或者參數的類型不同,即可稱之爲該函數重載了。
如何區分重載:當函數同名時,只看參數列表。和返回值類型沒關係。
四、數 組
1、定義:
用於存儲同一類型數據的一個容器。好處:可以對該容器中的數據進行編號,從0開始。數組用於封裝數據,就是一個具體的實體。
2、如何在java中表現一個數組呢?兩種表現形式。
a、元素類型[] 變量名 = new 元素類型[元素的個數];
b、元素類型[] 變量名 = {元素1,元素2...};
元素類型[] 變量名 = new 元素類型[]{元素1,元素2...};
3、二分查找法。
必須有前提:數組中的元素要有序。
<span style="white-space:pre"> </span>public static int halfSeach_2(int[] arr,int key){
<span style="white-space:pre"> </span>int min,max,mid;
<span style="white-space:pre"> </span>min = 0;
<span style="white-space:pre"> </span>max = arr.length-1;
<span style="white-space:pre"> </span>mid = (max+min)>>1; //(max+min)/2;
<span style="white-space:pre"> </span>while(arr[mid]!=key){
<span style="white-space:pre"> </span>if(key>arr[mid]){
<span style="white-space:pre"> </span>min = mid + 1;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>else if(key<arr[mid])
<span style="white-space:pre"> </span>max = mid - 1;
<span style="white-space:pre"> </span>if(max<min)
<span style="white-space:pre"> </span> return -1;
<span style="white-space:pre"> </span>mid = (max+min)>>1;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>return mid;
<span style="white-space:pre"> </span>}