分支结构和循环结构
分支結構和循環結構
1.分支結構
1.1 switch case
switch case的結構是一個精確的if else if
//格式 switch (/*選項數據存儲變量*/) {case 常量1://處理方式1;break;case 常量2://處理方式2;break;case 常量3://處理方式3;break;default://所有的匹配項沒有對應情況,最終處理方式break; } /* 要求:1.case 之后的常量數據類型目前限制在int2.case 之后的常量數據不可以重復,具有唯一性。3.Switch case 結構中可以執行的內容,有且只有在case之后或default之后4.default可以省略,但是如果代碼中沒有匹配的選項,代碼沒有任何反饋~~~~【重點強調】在 阿里巴巴 開發規范中,Switch case結構,default不允許省略!!!!執行流程:代碼執行Switch case結構,首先取值Switch 之后變量數據內容,與case之后常量進行匹配,如果有對應匹配項,按照對應處理方式執行,如果沒有任何一個case 匹配,執行default之后的代碼 */1.2Switch case 代碼演示
//switch case 案例代碼演示 public class Demo2 {public static void main(String[] args) {//choose 選擇,選項int choose = 3;System.out.println("開業大酬賓!!!");System.out.println("1.胡辣湯");System.out.println("2.老母雞湯");System.out.println("3.牛肉湯");System.out.println("4.牛肉湯");System.out.println();//switch 小括號內就是存儲當前選項的變量,目前使用 chooseswitch (choose) {//switch case 結構中,可執行的內容,有且只有在case之后和default之后//System.out.println("開業大酬賓!!!");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;}} }【補充知識點】
關注點:目前Switch case 案例代碼,如果想要執行其他的數據結果,要求用戶完成以下操作1.修改源代碼對應數據2.保存代碼3.編譯代碼4.執行程序對于普通用戶而言是不可能的!!!用戶期望的效果是代碼運行,用戶提供數據,代碼執行判斷情況,給予結果反饋,不需要考慮代碼執行,編譯,運行過程。【只要求用戶提供數據】針對當前代碼而言,我們缺少可以獲取用戶提供數據的方式。【思想很重要】 【注意】以下知識點不重要,只是勉強完成目前代碼所需,如果確實需要,請復制粘貼我的代碼,不要學會,不要自己寫。目前考慮到只能使用終端來獲取用戶數據形式,并且終端獲取數據對于后期開發沒有任何實際價值。 Java中的掃描器 使用流程:1.在public class 類名之上導包 ==>點技能點import java.util.Scanner;2.代碼中準備 Scanner 變量 ,已備使用Scanner sc = new Scanner (System.in);3.根據所需,選取對應的套餐,復制粘貼解決問題,不會拉到!!!就當沒講int類型數據int類型變量 = sc.nextInt();float類型數據float類型變量 = sc.nextFloat();double類型數據double類型變量 = sc.nextDouble();char類型數據char類型變量 = sc.nextChar().charAt(0);【補充知識點 用戶操作友好提示/操作引導提示】
用戶使用軟件,需要在操作過程中,給予用戶合理,合情,友好的提示內容,方便用戶使用我們的軟件
增強用戶粘性!!!
【補充知識點】
在實際開發中,用戶使用軟件極有可能給予軟件的的操作是不合法的!!! 需要考慮出現了用戶提供的數據異常情況下是否用該給予用戶反饋,或者采用其他的處理方式。 用戶提交數據需要根據實際情況來進行合法判斷,如果不合法,不可以進入正常的數據判斷處理過程。中斷程序運行,基于用戶提示。 import java.util.Scanner; // if else-if 分支結構代碼演示 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 之后條件內容沒有邏輯與判斷,效率高2.代碼量降低3.分析條件的羅列關系*/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.循環結構
2.1為什么要循環結構
代碼中容易出現重復,復用代碼,如果僅通過最為基礎的 C V 操作,會導致以下問題1.代碼冗余2.代碼閱讀性極差3.代碼維護性很差2.2while 循環結構
//格式 while (/*循環條件判斷 Boolean true or false*/) {//循環體//循環條件變更 } /*執行流程:代碼執行while循環結構,首先判斷while之后小括號中的循環條件是否為ture,如果為true執行循環,回到while之后的小括號判斷,直到循環條件為false終止循環!!!*/ public class Demo4 {public static void main(String[] args) {//可維護性!!int num = 10; //int 類型變量控制循環次數//while 小括號中, 循環條件必須是 Boolean 類型//無限循環解決條件 ctrl + cwhile (num > 0 ) {System.out.println("你好");num -= 1;}} }2.3 do while 循環結構
//格式 //注意 結果的分號,必須要有!!! do {//循環體//循環條件變更 } while (/*循環條件判斷 boolean true or false*/); /* 執行流程:代碼執行 do while 循環結構, 首先執行一次循環體內容,再來判斷 while 之后小括號循環判斷條件是否為true,如果為 true 繼續執行循環體,如果為 false 終止循環。 */ //為什么要使用循環 public class Demo4 {public static void main(String[] args) {//num1可以認為是循環變量int num1 = 10;do {System.out.println("次水果");++num1;} while (num1 < 20);} }2.4 for 循環結構
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-khchYQ3W-1666606603732)(C:\Users\liangzai\AppData\Local\Temp\WeChat Files\ee82b60f7e23d2efeb71cf3dba4dca7.png)]
//格式 for (/*循環條件初始化*/; /*循環條件判斷*/; /*循環條件變更*/) { //循環體 } //為什么要使用循環 public class Demo4 {public static void main(String[] args) { //for循環演示 /*【注意】for循環小括號中的不同條件使用 ; 分割目前的for循環,循環次數為10次i 的值在循環過程中的變換 0 1 2 3 4 5 6 7 8 9*/for(int i = 0; i < 10; i++) {System.out.println(i);}} } 循環第一次 i = 0; 0 < 10 成立,循環可以執行 i++; ==> i = 1 循環第二次 i = 1; 1 < 10 成立,循環可以執行 i++; ==> i = 2 循環第三次 i = 2; 2 < 10 成立,循環可以執行 i++; ==> i = 3 循環第四次 i = 3; 3 < 10 成立,循環可以執行 i++; ==> i = 4 循環第五次 i = 4; 4 < 10 成立,循環可以執行 i++; ==> i = 5 循環第六次 i = 5; 5 < 10 成立,循環可以執行 i++; ==> i = 6 循環第七次 i = 6; 6 < 10 成立,循環可以執行 i++; ==> i = 7 循環第八次 i = 7; 7 < 10 成立,循環可以執行 i++; ==> i = 8 循環第九次 3. 作業 盡力而為,不要鉆牛角尖,群里多討論 i = 8; 8 < 10 成立,循環可以執行 i++; ==> i = 9 循環第十次 i = 9; 9 < 10 成立,循環可以執行 i++; ==> i = 10 循環第十一次: i = 10; 10 < 10 不成立,循環終止!!!執行
i++; ==> i = 5
循環第六次
i = 5; 5 < 10 成立,循環可以執行
i++; ==> i = 6
循環第七次
i = 6; 6 < 10 成立,循環可以執行
i++; ==> i = 7
循環第八次
i = 7; 7 < 10 成立,循環可以執行
i++; ==> i = 8
循環第九次
3. 作業
盡力而為,不要鉆牛角尖,群里多討論
i = 8; 8 < 10 成立,循環可以執行
i++; ==> i = 9
循環第十次
i = 9; 9 < 10 成立,循環可以執行
i++; ==> i = 10
循環第十一次:
i = 10; 10 < 10 不成立,循環終止!!!
總結
- 上一篇: IT开发工程师经典面试
- 下一篇: 服务器系统如何截图,电脑截图的快捷键是什