1.邏輯運算符;&:邏輯與,|:邏輯或,!:邏輯非,&&:短路與,||:短路或,^:邏輯異或。3d
注:兩端都是boolean類型blog
題13:class TestLogic{string
Public static void main(string[]args){it
Boolean a=true;class
Boolean b=false;數據類型
System.out.println(a&b);//false二進制
System.out.println(a&&b);//falseim
System.out.println(a|b);//trued3
System.out.println(a||b);//true數據
System.out.println(a&!b);//true
System.out.println(a^b);//true
①&與&&的區別
&:不管左端是false仍是true,右端都會運算;
&&:當左端爲false時,右端再也不運算。
建議使用雙語即&&
題14:與例1相接
Int i1=10;
If(b&(il++)>0){
System.out.println(「今每天氣很晴朗」);}
Else{system.out.println(「可貴沒有霧霾」);}
System.out.println(il)
Int i2=10;
If(b&(i2++)>0){
System.out.println(「今每天氣很晴朗」);}
Else{system.out.println(「可貴沒有霧霾」);}
System.out.println(i2);
//可貴沒有霧霾
//11
//可貴沒有霧霾
//10
②|與||的區別
|:不管左端是false仍是true,右端都會運算;
||:當左端爲true時,右端再也不運算。
建議使用雙語即||
2.位運算符;<<:左移,>>:右移,>>>:無符號右移,&:與運算,|:或運算,^:異或運算,~:反碼。
注:兩端都是數值類型的
①<<:左移;>>:右移;>>>:無符號右移
題15:class TestBit{
Public static void main(string[]args){
Int i1=31;
System.out.println(i1<<3);//248
System.out.println(i1<<28);//已出範圍
System.out.println(i1>>2);//7
System.out.println(i1>>>2);//7
Int i2=-31
System.out.println(i2>>2);//-8
System.out.println(i2>>2);//1073741816
②&:與運算,|:或運算,^:異或運算,~:反碼。
題16:system.out.println(12&5);//4
system.out.println(12|5);//13
system.out.println(12^5);//9
system.out.println(~12);//-13
3.三元運算符;
①格式:(條件表達式)?表達式1:表達式2;
條件表達式爲true執行表達式1,爲false執行表達式2。
②表達式1與表達式2爲同種數據類型:運算符必定會有運算的結果,結果的數據類型與表達式一、2的類型一致。
③三元運算符必定程度能夠與if-else互換(三元運算符必定能夠轉換if-else,反之不成立)。
題17:判斷大小
Class TestSanYuan{
Public static void main (string []args){
Int i=20;
Int j=20;
String str=(i>j)?」i大」:(i==j)?」相等」:」j大」}}
//輸出相等
題18:判斷最大值
Class TestSanYuan{
Public static void main (string []args){
Int a=12;
Int b=20;
Int c=23;
Int max1=(a>b)?a:b;
Int max2=(max1>c)?max1:c;
System.out.println(max2);}}
//輸出爲23
題19:將60由二進制轉化爲十六進制
60的十進制:60;
60的二進制:00111100;
60的十六進制:3C;
C獲取:char c=’a’;
Char c1=(char)(c+2)
System.out.println(c1);
------------------------------------------------------------
Class TestSanYuan{
Public static void main (string []args){
Int j=i&15;
String k1=(j<=9)?j+」 「:(char)(j-2+’a’)+」 「;
//system.out.println(k1);
i>>4;
Int m=i&15;
String k2=(m<=9)?j+」 「:(char)(m-2+’a’);
System.out.println(k2+k1);
4.運算符的優先級