分支结构和循环结构
分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)
1.分支結(jié)構(gòu)
1.1 switch case
switch case的結(jié)構(gòu)是一個精確的if else if
//格式 switch (/*選項數(shù)據(jù)存儲變量*/) {case 常量1://處理方式1;break;case 常量2://處理方式2;break;case 常量3://處理方式3;break;default://所有的匹配項沒有對應(yīng)情況,最終處理方式break; } /* 要求:1.case 之后的常量數(shù)據(jù)類型目前限制在int2.case 之后的常量數(shù)據(jù)不可以重復(fù),具有唯一性。3.Switch case 結(jié)構(gòu)中可以執(zhí)行的內(nèi)容,有且只有在case之后或default之后4.default可以省略,但是如果代碼中沒有匹配的選項,代碼沒有任何反饋~~~~【重點強調(diào)】在 阿里巴巴 開發(fā)規(guī)范中,Switch case結(jié)構(gòu),default不允許省略!!!!執(zhí)行流程:代碼執(zhí)行Switch case結(jié)構(gòu),首先取值Switch 之后變量數(shù)據(jù)內(nèi)容,與case之后常量進(jìn)行匹配,如果有對應(yīng)匹配項,按照對應(yīng)處理方式執(zhí)行,如果沒有任何一個case 匹配,執(zhí)行default之后的代碼 */1.2Switch case 代碼演示
//switch case 案例代碼演示 public class Demo2 {public static void main(String[] args) {//choose 選擇,選項int choose = 3;System.out.println("開業(yè)大酬賓!!!");System.out.println("1.胡辣湯");System.out.println("2.老母雞湯");System.out.println("3.牛肉湯");System.out.println("4.牛肉湯");System.out.println();//switch 小括號內(nèi)就是存儲當(dāng)前選項的變量,目前使用 chooseswitch (choose) {//switch case 結(jié)構(gòu)中,可執(zhí)行的內(nèi)容,有且只有在case之后和default之后//System.out.println("開業(yè)大酬賓!!!");case 1:System.out.println("胡辣湯 8RMB");break;case 2:System.out.println("老母雞湯 12RMB");break;case 3:System.out.println("牛肉湯 15RMB");break;case 4:System.out.println("羊肉湯 20RMB");break;default:System.out.println("你的選擇有誤");break;}} }【補充知識點】
關(guān)注點:目前Switch case 案例代碼,如果想要執(zhí)行其他的數(shù)據(jù)結(jié)果,要求用戶完成以下操作1.修改源代碼對應(yīng)數(shù)據(jù)2.保存代碼3.編譯代碼4.執(zhí)行程序?qū)τ谄胀ㄓ脩舳允遣豢赡艿?#xff01;!!用戶期望的效果是代碼運行,用戶提供數(shù)據(jù),代碼執(zhí)行判斷情況,給予結(jié)果反饋,不需要考慮代碼執(zhí)行,編譯,運行過程。【只要求用戶提供數(shù)據(jù)】針對當(dāng)前代碼而言,我們?nèi)鄙倏梢垣@取用戶提供數(shù)據(jù)的方式。【思想很重要】 【注意】以下知識點不重要,只是勉強完成目前代碼所需,如果確實需要,請復(fù)制粘貼我的代碼,不要學(xué)會,不要自己寫。目前考慮到只能使用終端來獲取用戶數(shù)據(jù)形式,并且終端獲取數(shù)據(jù)對于后期開發(fā)沒有任何實際價值。 Java中的掃描器 使用流程:1.在public class 類名之上導(dǎo)包 ==>點技能點import java.util.Scanner;2.代碼中準(zhǔn)備 Scanner 變量 ,已備使用Scanner sc = new Scanner (System.in);3.根據(jù)所需,選取對應(yīng)的套餐,復(fù)制粘貼解決問題,不會拉到!!!就當(dāng)沒講int類型數(shù)據(jù)int類型變量 = sc.nextInt();float類型數(shù)據(jù)float類型變量 = sc.nextFloat();double類型數(shù)據(jù)double類型變量 = sc.nextDouble();char類型數(shù)據(jù)char類型變量 = sc.nextChar().charAt(0);【補充知識點 用戶操作友好提示/操作引導(dǎo)提示】
用戶使用軟件,需要在操作過程中,給予用戶合理,合情,友好的提示內(nèi)容,方便用戶使用我們的軟件
增強用戶粘性!!!
【補充知識點】
在實際開發(fā)中,用戶使用軟件極有可能給予軟件的的操作是不合法的!!! 需要考慮出現(xiàn)了用戶提供的數(shù)據(jù)異常情況下是否用該給予用戶反饋,或者采用其他的處理方式。 用戶提交數(shù)據(jù)需要根據(jù)實際情況來進(jìn)行合法判斷,如果不合法,不可以進(jìn)入正常的數(shù)據(jù)判斷處理過程。中斷程序運行,基于用戶提示。 import java.util.Scanner; // if else-if 分支結(jié)構(gòu)代碼演示 public class Demo7 {public static void main(String[] args) {int totalPrice = 0;Scanner sc = new Scanner(System.in);System.out.println("請輸入你的消費金額");totalPrice = sc.nextInt();if (totalPrice <=0) {System.out.println("請輸入正確的消費金額");System.exit(0);}//消費金額遞增if (totalPrice >= 666 && totalPrice < 1688) {System.out.println("歡迎光臨,尊貴的鉑金VIP");} else if (totalPrice >= 1688 && totalPrice < 3888) {System.out.println("歡迎光臨,尊貴的黃金VIP");} else if (totalPrice >= 3888 && totalPrice <8888) {System.out.println("歡迎光臨,尊貴的鉆石VIP");} else if (totalPrice >= 8888) {System.out.println("歡迎光臨,尊貴的鉆紫VIP");}else {System.out.println("歡迎光臨,尊貴的用戶");}/*消費金額遞減對比上方的條件,遞減方式1.if 之后條件內(nèi)容沒有邏輯與判斷,效率高2.代碼量降低3.分析條件的羅列關(guān)系*/int price = 1980;if (price >= 8888) {System.out.println("歡迎光臨,尊貴的紫鉆VIP");} else if (price >= 3888) {System.out.println("歡迎光臨,尊貴的鉆石VIP");} else if (price >= 1688) {System.out.println("歡迎光臨,尊貴的黃金VIP");} else if (price >= 666){System.out.println("歡迎光臨,尊貴的金VIP");} else {System.out.println("歡迎光臨,尊貴的用戶");}System.out.println("期待你的再次光臨");}}2.循環(huán)結(jié)構(gòu)
2.1為什么要循環(huán)結(jié)構(gòu)
代碼中容易出現(xiàn)重復(fù),復(fù)用代碼,如果僅通過最為基礎(chǔ)的 C V 操作,會導(dǎo)致以下問題1.代碼冗余2.代碼閱讀性極差3.代碼維護(hù)性很差2.2while 循環(huán)結(jié)構(gòu)
//格式 while (/*循環(huán)條件判斷 Boolean true or false*/) {//循環(huán)體//循環(huán)條件變更 } /*執(zhí)行流程:代碼執(zhí)行while循環(huán)結(jié)構(gòu),首先判斷while之后小括號中的循環(huán)條件是否為ture,如果為true執(zhí)行循環(huán),回到while之后的小括號判斷,直到循環(huán)條件為false終止循環(huán)!!!*/ public class Demo4 {public static void main(String[] args) {//可維護(hù)性!!int num = 10; //int 類型變量控制循環(huán)次數(shù)//while 小括號中, 循環(huán)條件必須是 Boolean 類型//無限循環(huán)解決條件 ctrl + cwhile (num > 0 ) {System.out.println("你好");num -= 1;}} }2.3 do while 循環(huán)結(jié)構(gòu)
//格式 //注意 結(jié)果的分號,必須要有!!! do {//循環(huán)體//循環(huán)條件變更 } while (/*循環(huán)條件判斷 boolean true or false*/); /* 執(zhí)行流程:代碼執(zhí)行 do while 循環(huán)結(jié)構(gòu), 首先執(zhí)行一次循環(huán)體內(nèi)容,再來判斷 while 之后小括號循環(huán)判斷條件是否為true,如果為 true 繼續(xù)執(zhí)行循環(huán)體,如果為 false 終止循環(huán)。 */ //為什么要使用循環(huán) public class Demo4 {public static void main(String[] args) {//num1可以認(rèn)為是循環(huán)變量int num1 = 10;do {System.out.println("次水果");++num1;} while (num1 < 20);} }2.4 for 循環(huán)結(jié)構(gòu)
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-khchYQ3W-1666606603732)(C:\Users\liangzai\AppData\Local\Temp\WeChat Files\ee82b60f7e23d2efeb71cf3dba4dca7.png)]
//格式 for (/*循環(huán)條件初始化*/; /*循環(huán)條件判斷*/; /*循環(huán)條件變更*/) { //循環(huán)體 } //為什么要使用循環(huán) public class Demo4 {public static void main(String[] args) { //for循環(huán)演示 /*【注意】for循環(huán)小括號中的不同條件使用 ; 分割目前的for循環(huán),循環(huán)次數(shù)為10次i 的值在循環(huán)過程中的變換 0 1 2 3 4 5 6 7 8 9*/for(int i = 0; i < 10; i++) {System.out.println(i);}} } 循環(huán)第一次 i = 0; 0 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 1 循環(huán)第二次 i = 1; 1 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 2 循環(huán)第三次 i = 2; 2 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 3 循環(huán)第四次 i = 3; 3 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 4 循環(huán)第五次 i = 4; 4 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 5 循環(huán)第六次 i = 5; 5 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 6 循環(huán)第七次 i = 6; 6 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 7 循環(huán)第八次 i = 7; 7 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 8 循環(huán)第九次 3. 作業(yè) 盡力而為,不要鉆牛角尖,群里多討論 i = 8; 8 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 9 循環(huán)第十次 i = 9; 9 < 10 成立,循環(huán)可以執(zhí)行 i++; ==> i = 10 循環(huán)第十一次: i = 10; 10 < 10 不成立,循環(huán)終止!!!執(zhí)行
i++; ==> i = 5
循環(huán)第六次
i = 5; 5 < 10 成立,循環(huán)可以執(zhí)行
i++; ==> i = 6
循環(huán)第七次
i = 6; 6 < 10 成立,循環(huán)可以執(zhí)行
i++; ==> i = 7
循環(huán)第八次
i = 7; 7 < 10 成立,循環(huán)可以執(zhí)行
i++; ==> i = 8
循環(huán)第九次
3. 作業(yè)
盡力而為,不要鉆牛角尖,群里多討論
i = 8; 8 < 10 成立,循環(huán)可以執(zhí)行
i++; ==> i = 9
循環(huán)第十次
i = 9; 9 < 10 成立,循環(huán)可以執(zhí)行
i++; ==> i = 10
循環(huán)第十一次:
i = 10; 10 < 10 不成立,循環(huán)終止!!!
總結(jié)
- 上一篇: IT开发工程师经典面试
- 下一篇: 微信小程序开发手账从入门到部署【持续更新