BTC-比特幣網路(區塊鏈技術與應用)
阿新 • • 發佈:2021-11-12
運算子:比較運算子
運算子 | 運算 | 範例 | 結果 |
---|---|---|---|
== | 相等於 | 4==3 | false |
!= | 不等於 | 4!=3 | true |
< | 小於 | 4<3 | false |
> | 大於 | 4>3 | true |
<= | 小於等於 | 4<=3 | false |
>= | 大於等於 | 4>=3 | true |
instanceof | 檢查是否是類的物件 | "Hello" instanceof String | true |
比較運算子的結果都是 boolean 型別,要麼是 true 要麼是 false。 | |||
比較運算子 "==" 不能誤寫成 "=" |
class CompareTest{public static void main(String[] args){ int i = 10; int j = 20; System.out.println(i==j); //false System.out.println(i=j); //20 boolean b1 = true; boolean b2 = false; System.out.println(b2==b1); //false System.out.println(b2=b1); //true } }
運算子:邏輯運算子
- &: 邏輯與
- &&:短路與
- |: 邏輯或
- ||:短路或
- ! :邏輯非
- ^ : 邏輯異或
a | b | a&b | a&&b | a|b | a||b | !a | a^b |
---|---|---|---|---|---|---|---|
true | true | true | true | true | true | false | false |
true | false | false | false | true | true | false | true |
false | true | false | false | true | true | true | true |
false | false | false | false | false | false | true | false |
class LogicTest{ public static void main(String[] args){ // 區分 & 與 && // 相同點1:當 & 與 && 的運算結果相同 // 相同點2:當符號左邊是true時,二者都會執行符號右邊的運算 // 不同點: 當符號左邊是false時,& 繼續執行符號右邊的運算,&&不再執行符號右邊的運算。 boolean b1 = true; int num1 = 10; if (b1 & (num1++ > 0)){ System.out.println("Hello, beijing"); //Hello, beijing } else { System.out.println("Hello, nanjing"); } System.out.println("num1 = " + num1); //11 boolean b2 = false; int num2 = 10; if (b2 && (num2++ > 0)){ System.out.println("Hello, beijing"); //Hello, beijing } else { System.out.println("Hello, nanjing"); } System.out.println("num2 = " + num2); //10 // 區分 | 與 || // 相同點1: | 與 || 的運算結果相同 // 相同點2: 當符號左邊是false時,兩者都執行符號右邊的運算 // 不同點: 當符號左邊是tue時,| 繼續執行符號右邊的運算,||不再執行符號右邊的運算。 boolean b3 = true; int num3 = 10; if (b3 | (num3++ > 0)){ System.out.println("Hello, beijing"); //Hello, beijing } else { System.out.println("Hello, nanjing"); } System.out.println("num3 = " + num3); //11 boolean b4 = true; int num4 = 10; if (b4 || (num4++ > 0)){ System.out.println("Hello, beijing"); //Hello, beijing } else { System.out.println("Hello, nanjing"); } System.out.println("num4 = " + num4); //10 } }
運算子:三元運算子
一: 格式:(條件表示式)?表示式1:表示式2
1.條件表示式為 true ,運算後的結果是表示式1
2.條件表示式為 false ,運算後的結果是表示式2
二: 表示式1和表示式2位同種型別
三: 三元運算子與if-else的聯絡與區別:
1.三元運算子可簡化為 if-else 語句
2.三元運算子要求必須返回一個結果
3.if後的程式碼塊可有多個語句
4.如果程式可以使用三元運算子,又可以使用if-else結構,那麼優先選擇三元運算子。原因:簡單,執行效率高。
class SanYuanTest { public static void main(String[] args){ //獲取兩個整數的較大值 int m = 12; int n = 5; int max = (m > n)?m : n; System.out.println(max); //12 double num = (m > n)? 2 : 1.0; System.out.println(num); //2.0 n = 12; String maxStr = (m > n)? "m大" : ((m == n)? "m 和 n 相等" : "n大"); System.out.println(maxStr); //m 和 n 相等 //獲取三個數的最大值 int n1 = 12; int n2 = 30; int n3 = -43; int max1 = (n1 > n2)? n1 : n2; int max2 = (max1 > n3)? max1 : n3; System.out.println("三個數中的最大值為: " + max2); //三個數中的最大值為: 30 // 不建議 int max3 = (((n1 > n2)? n1 : n2) > n3)? ((n1 > n2)? n1 : n2) : n3; System.out.println("三個數中的最大值為: " + max3); //三個數中的最大值為: 30 // 改寫成 if-else if(m > n){ System.out.println("m=" + m); }else{ System.out.println("n=" + n); //n=12 } } }