代碼的執(zhí)行順序是從上至下张咳,逐條執(zhí)行。也存在兩種結(jié)構(gòu)探孝,一種是分支結(jié)構(gòu)渔彰,一種是循環(huán)結(jié)構(gòu)嵌屎。
?if - else? /???? if?? /???? if?? -? else? if?? - else:
第一種:
if?? -? else:
if(a){
b;}? else {
c;}
如果a成立,則執(zhí)行b,否則執(zhí)行c恍涂。表示只有兩種情況出現(xiàn)宝惰,a或者!a再沧。
結(jié)構(gòu):if(判斷語句){語句體尼夺;
}
if(??? 判斷句??? ){?? 執(zhí)行句;
}else{?? 另一個執(zhí)行句产园;
if(???? 判斷句?????){??? 執(zhí)行句汞斧;
}else if???? (判斷句)? {?? 執(zhí)行句;
}
}
例如:判斷用戶名與密碼是否正確
public static void Main(string[] args) ???????? {
Console.WriteLine("請輸入用戶名"); ????????
?string username = Console.ReadLine(); ?//鍵盤上獲取字符?什燕。一定記住()>憾恕J杭础!??
?Console.WriteLine("請輸入密碼");???????????
string password = Console.ReadLine();
if (username == "admin" &&password == "888888")??? {????????????????
Console.WriteLine("密碼正確");??
?}?? else??{
?if?(username != "admin") ?? {????
Console.WriteLine("用戶名不正確");
} ?else if???(password != "888888")?? { ???????????? ?
Console.WriteLine("密碼不正確");
?}
?} ??
Console.ReadKey(); //還不懂什么意思
}
該執(zhí)行時事富,數(shù)據(jù)進入if的判斷語句技俐,若符合判斷要求,則進入語句體统台。不符合雕擂,則不進入if語句。后面的else中不寫條件贱勃,因為它是要么等于if判斷句中的結(jié)果井赌,要么不等于。所以不需要寫贵扰。若嵌套則可以進行選擇仇穗。
第二種:
if:
if?? (???a )?? {?
?b??;
?} if (? c? ){
d? ?;
}
而if后面可以在接 if,表示不一定只有兩種情況戚绕。例如if(a)b; if(c)d;
如果a成立纹坐,則執(zhí)行b,否則如果c成立舞丛,則執(zhí)行d耘子。這種情況存在三種情況:a果漾,!a&c,!a&!c谷誓,只是最后一種情況沒有執(zhí)行語句绒障,可重復嵌套,有符合if條件時進入執(zhí)行片林。
if(判斷語句){??
語句體1 端盆;
} if?(判斷語句){
?語句體2 ;
}
該語句執(zhí)行時费封,首先進入if的條件判斷句焕妙,符合,進入語句體1弓摘,否則進入語句體2.語句中可以進行嵌套
第三種:
if?? -?? else?? if????-?? else:
if (???? a???? )??? {?? ?b ??? ;}
else? if? (????? c????? )??? {??? d??? ;}
else??? {?? m?? ;}
例如if(a)b;else if(c)d;else m焚鹊;
如果a成立,則執(zhí)行b韧献,否則如果c成立末患,則執(zhí)行d,否則執(zhí)行m锤窑。有三種情況a璧针,!a&c,!a&!c渊啰。if(判斷語句){語句體?? 1探橱;
}else if{?????語句體2??? ;
}else? if{??????語句體3??绘证;
}else{?????????語句體N?? 隧膏;
}該語句執(zhí)行時,拿當前要判斷的條件去和?if 之后條件匹配嚷那,如果匹配到胞枕,執(zhí)行對應的語句體,如果沒有匹配到魏宽,執(zhí)行語句體n腐泻,最后執(zhí)行大括號之后的語句。
if??? - else if??? - else 結(jié)構(gòu)中的else 是可以省略的湖员,但是要看業(yè)務條件
swith??? -?? case?? :
switch - case 結(jié)構(gòu)
?
?switch (變量) {
?????????? case 確定值1:
????????? ?處理方式1;
??????????? break;
?????????? case 確定值2:
?????????? 處理方式2;
????????? ?break;
???????????default:
?????????? 最終處理方式;
?????????? ?break;
?}
運行流程:
當程序運行到switch - case 結(jié)構(gòu)的時候贫悄,直接用switch 之后的變量去匹配 case對應的值,如果匹配執(zhí)行對應的處理方式娘摔,運行到break跳出switch - case 結(jié)構(gòu)窄坦。如果沒有匹配項,執(zhí)行default里面的處理方式,遇到break跳出鸭津。
注意事項:
??1. 在switch-case 結(jié)構(gòu)中彤侍,break 可以省略,但是會影響之前的case 選項
??2. 在switch - case 結(jié)構(gòu)中逆趋,只能只執(zhí)行在case 或者 default里面的語句?剩下一概不執(zhí)行盏阶,而且在Java中編譯不過。
??3. 在switch-case 結(jié)構(gòu)中闻书,不允許出現(xiàn)相同的case 選擇名斟,會報錯
??4. 在switch-case 結(jié)構(gòu)中,可以省略default
案例:import java.util.Scanner;//打包
class SwitchTest {
?public static void main(String[] args) {
?
??//提示用戶選擇自己的菜品
??Scanner sc = new Scanner(System.in);//獲取鍵盤內(nèi)容
??System.out.println("請問客官您點什么?");
??System.out.println("1.紅燒肉~~~");
??System.out.println("2.糖醋里脊~~~");
??System.out.println("3.蒜蓉油麥菜~~~");
??System.out.println("4.麻辣小龍蝦~~~");
??System.out.println("5.哈爾濱冰啤~~");
??int choose = sc.nextInt(); //從鍵盤上獲取用戶的選擇
??
??//利用switch - case 結(jié)構(gòu)魄眉,對用戶輸入的數(shù)據(jù)進行處理
??switch (choose) {//choose在上面定義了砰盐,指鍵盤上獲取的內(nèi)容。
???//System.out.println("你猜猜這個會出現(xiàn)嗎坑律?"); //? 不會
???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;
???/*default:
????System.out.println("不鬧我們還是朋友");//用戶什么也沒有選擇岩梳,可以省略
????break;
???*/
??}
???
??System.out.println("Program Ending");//當省略default,又需要輸出晃择,不省略default時冀值,用戶輸入錯誤,會兩個同時出現(xiàn)宫屠。
?}
}
葉子是初學者列疗,暫時的想法,若有錯誤浪蹂,請指出錯誤作彤!一定改正!謝謝~~~
?