*? ? ? ? 關系運算符:
>? ? <? ? <=? ? >=? ? ==? ? !=
?。。?!關系運算符的結果一定是布爾類型(true或false)
public class OperatorText{
public static void main(String[] args){
int a=10;
int b=10;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a>=b);
System.out.println(a<=b);
System.out.println(a==b);
System.out.println(a!=b);
輸出結果分別為? ? false? ? false? ? true? ? true? ? true? ? false
}
}
*? ? ? ? ? ? ? ?邏輯運算符:
&——> 邏輯與? ? ? ? ?(兩邊算子都是true,結果就是true)
|——> 邏輯或? ? ? ? ? ? (兩邊算子只要有一個true,結果就是true)
!——> 邏輯非? ? ? ? ? ? ?(取反,!false就是true,!true就是false)
^——> 邏輯抑或? ? ? ? ? ? (兩邊算子只要不一樣,結果就是真)
&&——> 短路與? ? ? ? ? ? ()
||——>短路或? ? ? ? ? ? ()
重點1:&? ? 和? ? &&? ? 的區(qū)別
public class OperatorTest{
public static void main(String[] args){
int a=7;
int b=9;
System.out.println(a>b & a++>b);? ? ? ? //false
System.out.println(a);? ? ? ? //a=8
a=7;b=9;
System.out.println(a>b && a++>b);? ? ? ? //false
System.out.println(a);? ? ? ? //a=7
}
}
*? ? ? ? &&是當前一個算子是false,后面的算子就不執(zhí)行。&是不管前一個算子是不是錯,都執(zhí)行后面的算子
重點2:|? ? 和? ? ||? ? 的區(qū)別
public class Operator{
public static void main(String[] args){
int a=167;
int b=169;
System.out.println(a>b | a++>b);? ? ? ? //false
System.out.println(a);? ? ? ? //a=168
a=167;b=169;
System.out.println(a<b || a++>b);? ? ? ? //true
System.out.println(a);? ? ? ? //a=167
}
}
*? ? ? ? ||? ? 只要前一個算子是true,后面的算子就不執(zhí)行。|? ? 兩個算子都執(zhí)行