LeetCode 劍指 Offer 11. 旋轉陣列的最小數字 | Python
阿新 • • 發佈:2020-07-22
賦值操作
class SetValueTest { public static void main(String[] args) { //賦值符號:= int i1 = 10; int j1 = 10; int i2,j2; //連續賦值 i2 = j2 = 10; int i3 = 10 ,j3= 20; } }
“+=”“-=”“/=”"*="“%=”操作
class SetValueTest { public static void main(String[] args) { //賦值符號:= int i1 = 10; int j1 = 10; int i2,j2; //連續賦值 i2 = j2 = 10; int i3 = 10 ,j3= 20; //******* int num = 5; num -= 2; // 相當於num= num-2; System.out.println(num); int num1 = 10; num1 += 2;//相當於num1 = num1 +2; System.out.println(num1); int num2 = 12; num2 %= 5; //相當num2 = num2 % 5; System.out.println(num2); int num3 = 3; num3 *= 4;//相當於num3= num3 * 4 System.out.println(num3); int num4 = 4; num4 /=2; //相當於num4 = num4 /2 System.out.println(num4); } } ---------- java ---------- 3 12 2 12 2 輸出完成 (耗時 0 秒) - 正常終止
比較運算子
運算子 | 運算 | 示例 | 結果 |
== | 相等於 | 4==3 | false |
!= | 不等於 | 4!=3 | true |
< | 小於 | 4< 3 | false |
> | 大於 | 4>3 | true |
<= | 小於等於 | 4<=3 | false |
>= | 大於等於 | 4>=3 | true |
instanceof | 檢查是否是類的物件 | "Hello" instancefo String | true |
class CompareTest { public static void main(String[] args) { //System.out.println("Hello World!"); int i = 10; int j = 20; System.out.println(i==j); //結果false System.out.println(i>=j); //false System.out.println(i<=j); //true System.out.println(i > j);//false System.out.println(i<j); // true System.out.println(i != j); //true } } ---------- java ---------- false false true false true true 輸出完成 (耗時 0 秒) - 正常終止
注意
class CompareTest { public static void main(String[] args) { //System.out.println("Hello World!"); int i = 10; int j = 20; System.out.println(i==j); //結果false System.out.println(i>=j); //false System.out.println(i<=j); //true System.out.println(i > j);//false System.out.println(i<j); // true System.out.println(i != j); //true System.out.println(i=j); //注意操作它是賦值操作 } } ---------- java ---------- false false true false true true 20 輸出完成 (耗時 0 秒) - 正常終止
邏輯運算子
&邏輯與 &&短路與 |邏輯或 ||短路或 !邏輯非 ^ 邏輯異或
邏輯與和短路與測試
class CompareTest { public static void main(String[] args) { //System.out.println("Hello World!"); //int i = 10; //int j = 20; //System.out.println(i==j); //結果false //System.out.println(i>=j); //false //相同2:當符號左邊是true時,後面都執行,運算結果都是相同的 //不同點:當符號左邊是false時,&繼續執行後面操作,&& 不執行後面操作 boolean b1 = true; int num1 = 10; if (b1 &(num1++ >0)) { System.out.println("我在北京"+num1); }else{ System.out.println("我現在在南京"+num1); } boolean b2 = true; int num2 = 10; if (b2 &&(num2++ >0)) { System.out.println("我在北京"+num2); }else{ System.out.println("我現在在南京"+num2); } boolean b3 = false; int num3 = 10; if (b3 &(num3++ >0)) { System.out.println("我在北京"+num3); }else{ System.out.println("我現在在南京"+num3); } boolean b4 = false; int num4 = 10; if (b4 &&(num4++ >0)) { System.out.println("我在北京"+num4); }else{ System.out.println("我現在在南京"+num4); } } } ---------- java ---------- 我在北京11 我在北京11 我現在在南京11 我現在在南京10 輸出完成 (耗時 0 秒) - 正常終止
邏輯或與短路或
class CompareTest { public static void main(String[] args) { //相同2:當符號左邊是false時,後面都執行,運算結果都是相同的 //不同點:當符號左邊是true時,|繼續執行後面操作,|| 不執行後面操作 boolean b1 = true; int num1 = 10; if (b1 |(num1++ >0)) { System.out.println("我在北京"+num1); }else{ System.out.println("我現在在南京"+num1); } boolean b2 = true; int num2 = 10; if (b2 ||(num2++ >0)) { System.out.println("我在北京"+num2); }else{ System.out.println("我現在在南京"+num2); } boolean b3 = false; int num3 = 10; if (b3 |(num3++ >0)) { System.out.println("我在北京"+num3); }else{ System.out.println("我現在在南京"+num3); } boolean b4 = false; int num4 = 10; if (b4 ||(num4++ >0)) { System.out.println("我在北京"+num4); }else{ System.out.println("我現在在南京"+num4); } } } ---------- java ---------- 我在北京11 我在北京10 我在北京11 我在北京11 輸出完成 (耗時 0 秒) - 正常終止
位運算子
運算子 | 運算 | 示例 |
<< | 左移 | 3<<2=12--->3*2*2=12 |
>> | 右移 | 3>>1= 1 --->3/2=1 |
>>> | 無符號右移 | 3>>>1=1 --->3/2=1 |
& | 與運算 | 6&3=2 |
| | 或運算 | 6|3=7 |
^ | 異或運算 | 6^3=5 |
~ | 取反運算 | ~6=-7 |
交換變數的值
class CompareTest { public static void main(String[] args) { //相同2:當符號左邊是false時,後面都執行,運算結果都是相同的 //不同點:當符號左邊是true時,|繼續執行後面操作,|| 不執行後面操作 //boolean b1 = true; //int num1 = 10; //if (b1 |(num1++ >0)) //{ // System.out.println("我在北京"+num1); //}else{ //System.out.println("我現在在南京"+num1); //} //boolean b2 = true; //int num2 = 10; //if (b2 ||(num2++ >0)) //{ // System.out.println("我在北京"+num2); //}else{ // System.out.println("我現在在南京"+num2); //} //boolean b3 = false; //int num3 = 10; //if (b3 |(num3++ >0)) //{ // System.out.println("我在北京"+num3); //}else{ //System.out.println("我現在在南京"+num3); //} //boolean b4 = false; //int num4 = 10; //if (b4 ||(num4++ >0)) //{ // System.out.println("我在北京"+num4); //}else{ // System.out.println("我現在在南京"+num4); //} //交換兩個變數的值 int num1 = 10; int num2 = 20; System.out.println("num1 = " + num1 + " ,num2 = " +num2); //方法1: int temp = num1; num1 = num2; num2 = temp; System.out.println("num1 = " +num1 +" ,num2 = " + num2); } } ---------- java ---------- num1 = 10 ,num2 = 20 num1 = 20 ,num2 = 10 輸出完成 (耗時 0 秒) - 正常終止
三元運算子
/* 三元運算子 1.結構:(條件表示式)?表示式1:表示式2 說明 (1)條件表示式結構為boolean型別 (2)根據條件表示式的真或假,覺得執行表示式1或者2 如果表示式為true,就執行表示式1 如果表示式為false,就執行表示式2 */ class SanYuan { public static void main(String[] args) { //獲取兩個整數的較大值 int m = 12; int n = 5; int max = (m > n)? m:n; System.out.println(max+"大"); } } ---------- java ---------- 12大 輸出完成 (耗時 0 秒) - 正常終止