精華筆記:
1. Scanner接收用戶輸入的資料:共3步-----------不需要理解,先記住它,面向物件第五天才能理解
2. 分支結構:
- if...else if結構:多條路
- switch...case結構:多條路
- 優點:效率高、結構清晰
- 缺點:只能對整數判斷相等
- break:跳出switch
> 面試題:switch后資料的型別可以為:byte,short,char,int,String,列舉型別
3. 回圈:反復多次執行一段相同或相似的代碼
4. 回圈三要素:-----------------------下午詳細講
- 回圈變數的初始化
- 回圈的條件(以回圈變數為基礎)
- 回圈變數的改變(向著回圈的結束變)
> 回圈變數:在整個回圈程序中所反復改變的那個數
5. 回圈結構:
- while結構:先判斷后執行,有可能一次都不執行
- do...while結構:先執行后判斷,至少執行一次
> 當第1要素與第3要素的代碼相同時,首選do...while
## 筆記:
1. Scanner接收用戶輸入的資料:共3步-----------不需要理解,先記住它,面向物件第五天才能理解
```java package day04; import java.util.Scanner; //1.匯入掃描儀 //Scanner的演示 public class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); //2.新建一個掃描儀叫scan System.out.println("請輸入年齡:"); int age = scan.nextInt(); //3.用掃描儀掃描一個整數賦值給age System.out.println("請輸入商品價格:"); double price = scan.nextDouble(); //3.用掃描儀掃描一個小數賦值給price System.out.println("年齡為:"+age+",商品價格為:"+price); } } ```
2. 分支結構:
- if...else if結構:多條路
```java 1)語法: if(boolean-1){ 陳述句塊1 }else if(boolean-2){ 陳述句塊2 }else if(boolean-3){ 陳述句塊3 }else{ 陳述句塊4 } 2)執行程序: 判斷boolean-1,若為true則執行陳述句塊1(結束),若為false則 再判斷boolean-2,若為true則執行陳述句塊2(結束),若為false則 再判斷boolean-3,若為true則執行陳述句塊3(結束),若為false則執行陳述句塊4(結束) 3)說明: 陳述句塊1/2/3/4,必走其中之一-------多選1 ```
```java package day04; import java.util.Scanner; //成績等級判斷 public class ScoreLevel { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入成績:"); double score = scan.nextDouble(); //帶數(888,-45,95,85,65,40) if(score<0 || score>100){ System.out.println("成績不合法"); }else if(score>=90){ //成績合法 System.out.println("A-優秀"); }else if(score>=80){ System.out.println("B-良好"); }else if(score>=60){ System.out.println("C-中等"); }else{ System.out.println("D-不及格"); } } } ```
- switch...case結構:
- 優點:效率高、結構清晰
- 缺點:只能對整數判斷相等
- break:跳出switch
> 面試題:switch后資料的型別可以為:byte,short,char,int,String,列舉型別
```java package day04; import java.util.Scanner; //命令決議程式 public class CommandBySwitch { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請選擇功能: 1.存款 2.取款 3.查詢余額 4.退卡"); int command = scan.nextInt(); switch(command){ case 1: System.out.println("存款操作..."); break; case 2: System.out.println("取款操作..."); break; case 3: System.out.println("查詢余額操作..."); break; case 4: System.out.println("退卡操作..."); break; default: System.out.println("輸入錯誤"); } } } ```
3. 回圈:反復多次執行一段相同或相似的代碼
4. 回圈三要素:
- 回圈變數的初始化
- 回圈的條件(以回圈變數為基礎)
- 回圈變數的改變(向著回圈的結束變)
> 回圈變數:在整個回圈程序中所反復改變的那個數
```java 案例一: 輸出5次"行動是成功的階梯" 行動是成功的階梯 行動是成功的階梯 行動是成功的階梯 行動是成功的階梯 行動是成功的階梯 回圈變數:次數times 1)int times=0; 2)times<5 3)times++; times=0/1/2/3/4/ 5時結束 案例二: 輸出9的乘法表: 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 回圈變數:因數num 1)int num=1; 2)num<=9 3)num++; num=1/2/3/4/5/6/7/8/9/ 10時結束 1*9=9 3*9=27 5*9=45 7*9=63 9*9=81 回圈變數:因數num 1)int num=1; 2)num<=9 3)num+=2; num=1/3/5/7/9/ 11時結束 ```
5. 回圈結構:
- while結構:先判斷后執行,有可能一次都不執行
```java 1)語法: while(boolean){ 陳述句塊/回圈體----------反復執行的代碼 } 2)執行程序: 判斷boolean的值,若為true則執行陳述句塊, 再判斷boolean的值,若為true則再執行陳述句塊, 再判斷boolean的值,若為true則再執行陳述句塊, 如此反復,直到boolean的值為false時,while回圈結束 ```
```java //2)輸出9的乘法表: //3*9=27 int num = 1; while(num<=9){ System.out.println(num+"*9="+num*9); num+=2; //num++; } System.out.println("繼續執行..."); //1)輸出5次"行動是成功的階梯": int times = 0; //1)回圈變數的初始化 while(times<5){ //2)回圈的條件 System.out.println("行動是成功的階梯"); times++; //3)回圈變數的改變 } System.out.println("繼續執行..."); */ /* 執行程序: times=0 true 輸出 times=1 true 輸出 times=2 true 輸出 times=3 true 輸出 times=4 true 輸出 times=5 false while回圈結束 輸出繼續執行... */ ```
```java package day04; import java.util.Scanner; //猜數字小游戲 public class Guessing { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = (int)(Math.random()*1000+1); //1到1000之內的亂數 System.out.println(num); //作弊 //300(大),200(小),250(對) System.out.println("猜吧!"); int guess = scan.nextInt(); //1. while(guess!=num){ //2. if(guess>num){ System.out.println("太大了"); }else{ System.out.println("太小了"); } System.out.println("猜吧!"); guess = scan.nextInt(); //3. } System.out.println("恭喜你猜對了!"); } } ```
- do...while結構:先執行后判斷,至少執行一次
> 當第1要素與第3要素的代碼相同時,首選do...while
```java package day04; import java.util.Scanner; //猜數字小游戲 public class Guessing { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = (int)(Math.random()*1000+1); //1到1000之內的亂數 System.out.println(num); //作弊 //假設num=250 //300(大),200(小),250(對) int guess; do{ System.out.println("猜吧!"); guess = scan.nextInt(); //1+3 if(guess>num){ System.out.println("太大了"); }else if(guess<num){ System.out.println("太小了"); }else{ System.out.println("恭喜你猜對了"); } }while(guess!=num); //2 } } ```
## 補充:
1. 任何復雜的程式邏輯都可以通過三種結構來實作:
- 順序結構:從上往下逐行執行,每句必走 - 分支結構:有條件的執行某陳述句一次,并非每句必走 - 回圈結構:有條件的執行某陳述句多次,并非每句必走
2. 生成亂數: 1到1000
```java Math.random()-------------0.0到0.999999999999999... *1000---------------------0.0到999.9999999999999... +1------------------------1.0到1000.999999999999... (int)---------------------1到1000 ```
3. 變數的作用域/范圍:
- 從變數的宣告開始,到包含它最近的大括號結束
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/500683.html
標籤:Java
下一篇:day11-面向物件02
