运算符及题目(2017.1.8)
1.邏輯運算符;&:邏輯與,|:邏輯或,!:邏輯非,&&:短路與,||:短路或,^:邏輯異或。
注:兩端都是boolean類型
題13:class TestLogic{
Public static void main(string[]args){
Boolean a=true;
Boolean b=false;
System.out.println(a&b);//false
System.out.println(a&&b);//false
System.out.println(a|b);//true
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為同種數據類型:運算符一定會有運算的結果,結果的數據類型與表達式1、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.運算符的優先級
?
?
?
轉載于:https://www.cnblogs.com/wanglele-1988/p/6680248.html
總結
以上是生活随笔為你收集整理的运算符及题目(2017.1.8)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 比较好听的四字名字
- 下一篇: [bzoj1477]青蛙的约会
