1.進制
二進制 0、1
512 256 128 64 32 16 8 4 2 1 165-128=37 37-32=5
0 1 0 1 0 0 1 0 1
十進制 二進制
165 10100101
2.位運算符 & | ^
按位與&規則:都爲1 才爲1
2&3 先轉成二進制
64 32 16 8 4 2 1
0 0 1 0
0 0 1 1
-------------------
0 0 1 0 ===》2
12& 15
64 32 16 8 4 2 1
1 1 0 0
1 1 1 1
------------------------
1 1 0 0 ===》12
按位或| 規則:有一個爲1就爲1
2|3
64 32 16 8 4 2 1
0 0 1 0
0 0 1 1
---------------------------
0 0 1 1 ==>3
按位異或 ^ 規則:相同0 不同 1
2^3
64 32 16 8 4 2 1
0 0 1 0
0 0 1 1
-------------------------
0 0 0 1 ==》1
<< 箭頭方向 就是移動方向 2 移動位數
3<<2
64 32 16 8 4 2 1
0 0 1 1
0 0 1 1 ==>8+4=12
------------------------------------------------------------------------------------------------------
分支結構(選擇結構)
1.if選擇結構
1.簡單if語法
if(條件){//表達式 結果true false boolean值
}
2.if-else語法 三目運算符
if(表達式){//true
代碼塊
}else{//false
代碼塊
}
3.多重if語法
if(表達式){//true
代碼塊
}else if(表達式){//ture
代碼塊
}elseif(表達式){//true
代碼塊
}else{
代碼塊
}
多個簡單if代碼塊語法
if(表達式){//ture
代碼塊
}
if(表達式){//ture
代碼塊
}
if(表達式){//ture
代碼塊
}
多重if語法與多個簡單if代碼塊語法區別:
多重if語法依次執行滿足條件就終止了
多個簡單if代碼塊語法滿足就執行
4.嵌套if語法
if(){
if(){
}else{
}
}else{
}
補充:關係運算符
String 中的equals() 比較內容
String sex=null;
if(sex.equals("男")){ //運行異常
System.out.println("我是男的");
}else{
System.out.println("我是女的");
}
String sex=null;
if("男".equals(sex)){ //我是女的
System.out.println("我是男的");
}else{
System.out.println("我是女的");
}
建議:以後把有值的放前比較
2.switch分支結構
switch開關
case 情況
break 終止
default 默認的
1.語法:
switch(表達式){
case 值1:
break;
case 值2:
break;
case 值3:
break;
case 值4:
break;
default :
break;
}
switch(表達式)
表達式:jdk1.6 表達式必須爲byte,short,int或char類型
不能是String*
表達式:jdk1.6之後 能放String
注意事項:
1.switch裏的case塊的常量值不能重複 :錯誤標籤重複
2.switch裏的case塊順序可以顛倒
3.switch裏的default塊位置可改變最好放在最後
4.switch裏不加break 會出現貫穿現象
if與switch對比
1.都是分支結構 if使用區間性判斷 switch適用於等值判斷
2.switch效率高