1:運算符(掌握) (1)算術運算符 A:+,-,*,/,%,++,– B:+的用法 a:加法 b:正號 c:字符串連接符 C:/和%的區別 數據做除法操作的時候,/取得是商,%取得是余數 D:++和–的用法 a:他們的作用是自增或者自減 b:使用 **單獨使用 放在操作數據的前面和后面效果一樣。 a++或者++a效果一樣。 **參與操作使用 放在操作數的前面:先自增或者自減,再參與操作 int a = 10; int b = ++a; 放在操作數的后面:先參與操作,再自增或者自減 int a = 10; int b = a++; (2)賦值運算符 A:=,+=,-=,*=,/=,%=等 B:=叫做賦值運算符,也是最基本的賦值運算符 int x = 10; 把10賦值給int類型的變量x。 C:擴展的賦值運算符的特點 隱含了自動強制轉換。
面試題: short s = 1; s = s + 1; short s = 1; s += 1; 請問上面的代碼哪個有問題?為什么第二個木有問題呢? 擴展的賦值運算符其實隱含了一個強制類型轉換。 s += 1; 不是等價于 s = s + 1; 而是等價于 s = (s的數據類型)(s + 1);(3)比較運算符 A:==,!=,>,>=,<,<= B:無論運算符兩端簡單還是復雜最終結果是boolean類型。 C:千萬不要把==寫成了=(4)邏輯運算符 A:&,|,^,!,&&,|| B:邏輯運算符用于連接boolean類型的式子 C:結論 &:有false則false |:有true則true ^:相同則false,不同則true。 情侶關系。 !:非true則false,非false則true &&:結果和&是一樣的,只不過有短路效果。左邊是false,右邊不執行。 ||:結果和|是一樣的,只不過有短路效果。左邊是true,右邊不執行。(5)位運算符(了解) A:^的特殊用法 一個數據針對另一個數據位異或兩次,該數不變 B:面試題 a:請實現兩個變量的交換 **采用第三方變量 **用位異或運算符 左邊a,b,a 右邊a^b b:請用最有效率的方式計算出2乘以8的結果 2<<3 (6)三元運算符 A:格式 比較表達式?表達式1:表達式2; B:執行流程: 首先計算比較表達式的值,看是true還是false。 如果是true,表達式1就是結果。 如果是false,表達式2就是結果。 C:案例: a:比較兩個數據是否相等 b:獲取兩個數據中的最大值 c:獲取三個數據中的最大值 /* 練習: 獲取兩個整數中的最大值 獲取三個整數中的最大值 比較兩個整數是否相同 */ class OperatorTest { public static void main(String[] args) { //獲取兩個整數中的最大值 int x = 100; int y = 200;
int max = (x > y? x: y); System.out.} 3:流程控制語句 (1)順序結構 從上往下,依次執行 (2)選擇結構 按照不同的選擇,執行不同的代碼 (3)循環結構 做一些重復的代碼4:if語句(掌握) (1)三種格式 A:格式1 if(比較表達式) { 語句體; }
執行流程: 判斷比較表達式的值,看是true還是false 如果是true,就執行語句體 如果是false,就不執行語句體 B:格式2 if(比較表達式) { 語句體1; }else { 語句體2; } 執行流程: 判斷比較表達式的值,看是true還是false 如果是true,就執行語句體1 如果是false,就執行語句體2 C:格式3 if(比較表達式1) { 語句體1; }else if(比較表達式2){ 語句體2; } ... else { 語句體n+1; } 執行流程: 判斷比較表達式1的值,看是true還是false 如果是true,就執行語句體1 如果是false,就繼續判斷比較表達式2的值,看是true還是false 如果是true,就執行語句體2 如果是false,就繼續判斷比較表達式3的值,看是true還是false ... 如果都不滿足,就執行語句體n+1(2)注意事項 A:比較表達式無論簡單還是復雜,結果是boolean類型 B:if語句控制的語句體如果是一條語句,是可以省略大括號的;如果是多條,不能省略。 建議:永遠不要省略。 C:一般來說,有左大括號,就沒有分號,有分號,就沒有左大括號。 D:else后面如果沒有if,是不會出現比較表達式的。 E:三種if語句其實都是一個語句,只要有一個執行,其他的就不再執行。(3)案例: A:比較兩個數是否相等 B:獲取兩個數中的最大值 C:獲取三個數中的最大值(if語句的嵌套) D:根據成績輸出對應的等級 E:根據月份,輸出對應的季節 F:根據x計算對應y的值并輸出(4)三元運算符和if語句第二種格式的關系 所有的三元運算符能夠實現的,if語句的第二種格式都能實現。 反之不成立。 如果if語句第二種格式控制的語句體是輸出語句,就不可以。 因為三元運算符是一個運算符,必須要有一個結果返回,不能是一個輸出語句。新聞熱點
疑難解答