1.位運算符。
(1)<<左移(變大):左邊的數(shù)是操作數(shù)俺亮,右邊的數(shù)位移的個數(shù)。
5<<2:? -》5*2*2
a.5轉換2進制數(shù):101
b.轉成2進制數(shù)后,不足八位數(shù)補足8位:00000101
c,將八位的2進制數(shù)弟蚀,左邊移除2位:000101
d.移除位數(shù)后,不足八位數(shù)酗失,右補0:00010100
e.將最終的二進制數(shù)轉換為10進制數(shù):20
(2)>>右移(變幸宥ぁ):左邊的數(shù)是操作數(shù),右邊的數(shù)位移的個數(shù)规肴。
5>>2:
a.5轉換2進制數(shù):101
b.轉成2進制數(shù)后捶闸,不足八位數(shù)補足8位:00000101
c,將八位的2進制數(shù),右邊移除2位:000001
d.移除位數(shù)后拖刃,不足八位數(shù)删壮,左補0:00000001
e.將最終的二進制數(shù)轉換為10進制數(shù):1
(3)& 位與: 位數(shù)對齊運算,有0則為0兑牡,全1才為1
5&2:
a.將左右兩邊的數(shù)轉換為二進制數(shù):101央碟, 10
b,將二進制數(shù)不足八位轉換為八位數(shù)將上下對齊:
00000101
00000010
c.位數(shù)對齊運算,有0則為0均函,全1才為1:? ? ? ? 0000000 0
d.將結果的二進制數(shù)轉換10進制:0
(4)|? 位或: 位數(shù)對齊運算亿虽,有1則為1,全0才為0
5|2:
a.將左右兩邊的數(shù)轉換為二進制數(shù):101苞也, 10
b,將二進制數(shù)不足八位轉換為八位數(shù)將上下對齊:
00000101
00000010
c.位數(shù)對齊運算经柴,有1則為1,全0才為0:? ? 00000 1 1 1
d.將結果的二進制數(shù)轉換10進制:7
(5)^ 位異或: 位數(shù)對齊運算墩朦,相同為0坯认,不同為1
5^2:
a.將左右兩邊的數(shù)轉換為二進制數(shù):101, 10
b,將二進制數(shù)不足八位轉換為八位數(shù)將上下對齊:
00000101
00000010
c.位數(shù)對齊運算,相同為0牛哺,不同為1:00000 1 11
d.將結果的二進制數(shù)轉換10進制:7
2.程序中的結構:順序結構陋气,選擇結構,循環(huán)結構引润。
注:字符串與字符串的比較: 字符串變量名.equals("比較的值");
其它類型比較(int,double,boolean):? 變量名1==變量名2巩趁;
3.if結構:單分支的選擇問題
語法:if(條件){
語句塊:
}
eg:int today=5;
if(today==5){
System.out.println("考試");
}
4.if-else結構:雙分支問題
語法:if(條件){//true
語句塊1;
}else{//false
語句塊2淳附;
}
eg:System.out.println("這周考試第一名的同學是男生嗎议慰?(y/n)");
//從鍵盤上接收值并用變量存下來
String answer=input.next();
//用if-else結構
if(answer.equals("y")){
System.out.println("恭喜你獲得第一名,給你介紹一個女朋友");
}else{
System.out.println("恭喜你獲得第一名奴曙,給你介紹一個男朋友");
}
5.多重if結構:多分支問題别凹。最多只能執(zhí)行一個分支。
語法:if(條件1){
語句塊1洽糟;
? }else if(條件2){
語句塊2炉菲;
? }else if(條件3){
語句塊3;
? }else{
? }
注:(1)在多重if選擇結構中坤溃,if塊有且僅有一個拍霜,else if塊可以有1到多個,else有且僅有0個到1個薪介。
(2)在多重if選擇結構中祠饺,如果是作區(qū)間判斷問題,分支之間不能互換位置汁政。
(3)在多重if選擇結構中吠裆,如果是等值判斷問題,分支之間可以互換位置烂完。
eg:System.out.println("請輸入考試成績:");
//從鍵盤上接收考試成績并用變量存下來
double score=input.nextDouble();
//用多重if選擇結構
if(score>=90){
System.out.println("優(yōu)");
}else if(score>=80){
System.out.println("良");
}else if(score>=60){
System.out.println("合格");
}else{
System.out.println("不合格试疙,抄寫代碼");
}
6.Switch結構:多分支等值判斷問題
語法:switch(表達式){
case 值1:
語句塊1;
break;//跳出當前結構
case 值2:
語句塊2抠蚣;
break;
case 值3:
語句塊3祝旷;
break;
...
default:
break;
}
注:(1)表達式的數(shù)據(jù)類型:byte,short,int,char,String(在Jdk1.6以上版本支持)。
(2)case塊的數(shù)量沒限制嘶窄,default塊有且僅0個到1個怀跛。在同一個Switch結構中,case后面的常量 值不可以相同柄冲。
(3)一般情況下吻谋,每個case塊后面都有break;如果case塊中沒有break,它只判斷第一次现横,一直會執(zhí)行漓拾,直到遇到break或遇到結尾的}才會執(zhí)行完阁最。break;//跳出當前結構。
(4)case塊或default塊換個位置無影響骇两。
eg:System.out.println("請輸入今天是星期幾速种?(1-7)");
//從鍵盤上接收一個int值并用變量存
int today=input.nextInt();
switch(today){
case 1:
System.out.println("炸醬面");
break;//跳出當前結構
case 2:
System.out.println("牛肉面");
break;
case 3:
System.out.println("雞蛋面");
break;
case 4:
System.out.println("拉面");
break;
case 5:
System.out.println("熱干面");
break;
case 6:
System.out.println("涼面");
break;
default:
System.out.println("喝水");
break;
}
7.多重if VS? switch
相同點:都可以解決多分支的等值判斷問題。
不同點:switch只可以用來解決多分支的等值判斷問題低千。多重if可以用來解決所有多分支問題配阵。
多分支的區(qū)間判斷的問題只能用多重if。
8.嵌套選擇結構:在一個選擇結構中可以完整嵌套另一個選擇結構示血。嵌套要正確棋傍。
嵌套的層次無要求∧焉螅可以嵌套任意層瘫拣。
eg:System.out.println("請輸入你的成績:");
double time=input.nextDouble();
//嵌套的選擇結構
if(time<10){
System.out.println("請輸入你的性別:");
String sex=input.next();
if(sex.equals("男")){
System.out.println("恭喜你,進入男子級決賽");
}else{
System.out.println("恭喜你剔宪,進入女子級決賽");
}
}else{
System.out.println("謝謝參與");
}