Java循環結構之while和do-while循環


循環結構知識點

本章技能目標

 

1理解循環的含義

2會使用while循環

3會使用do-while循環

4會使用調試解決簡單的程序錯誤

 

 

一、   循環的含義

循環就是重復的做……(Java程序中的循環結構有三種實現方式:while循環結構、do-while循環結構、for循環結構)

程序循環的特點:

1、        循環不是無休止進行的,滿足一定條件的時候循環才會繼續,稱為“循環條件”;

2、        循環不滿足的時候,循環退出;

3、        循環結構是反復進行相同的或者類似的一系列操作,稱為“循環操作”。

 

二、   while循環

 

語法:

 

While(循環條件){

//循環操作

流程圖:

 

舉例:

Int i=1;

While(i<=100){

       System.out.println(“好好學習!”);

       I= i+1;

}

★練習--升級購物系統

  1.循環輸入商品編號和購買數量,系統自動計算每種商品的價錢(單價*購買數量),並累加得到總金額。

  2.當用戶輸入‘n’時,表示需要結賬,則退出循環結賬。

  3.結賬時,根據折扣(八折)計算應付金額,輸入實付金額,計算找零。

 1 import java.util.Scanner;
 2 
 3 public class Test03 {
 4 
 5     public static void main(String[] args) {
 6         //打印菜單
 7         System.out.println("MyShopping管理系統>購物結算\n");
 8         System.out.println("***********************************************");
 9         System.out.println("請選擇購買的商品編號:");
10         System.out.println("1.T恤\t2.網球鞋\t3.網球拍");
11         System.out.println("***********************************************");
12         //從鍵盤接收
13         @SuppressWarnings("resource")
14         Scanner input = new Scanner(System.in);
15         //初始化商品信息
16         String name = " ";//商品名稱
17         double price = 0;//商品價格
18         double pay = 0;//應付金額
19         double Pay = 0;//購物總額
20         
21         //while循環
22         String conti = "y";
23         while(conti.equals("y")){
24             System.out.print("請輸入商品編號:");
25             int id = input.nextInt();
26             switch(id){
27             case 1:
28                 name = "T恤";
29                 price = 245;
30                 break;
31             case 2:
32                 name = "網球鞋";
33                 price = 570;
34                 break;
35             case 3:
36                 name = "網球拍";
37                 price = 320;
38                 break;
39             default:
40                 name = "--";
41                 System.out.println("選擇錯誤!");
42                 break;
43             }//switch
44             
45             //購買數量
46             System.out.print("請輸入購買數量:");
47             int num = input.nextInt();//數量
48             pay = price*num;
49             Pay = Pay+pay;
50             System.out.println(name+":¥"+price+"\t數量:"+num+"\t合計:¥"+pay);
51             
52             //詢問是否繼續循環
53             System.out.println("是否繼續(y/n)?");
54             conti = input.next();
55         }
56         /*System.out.println("程序結束!");*/
57         
58         //添加變量
59         double dis = 0.8;
60         System.out.println("\n折扣:"+dis);
61         System.out.println("應付金額:¥"+Pay);
62         System.out.print("實付金額:¥");
63         int money = input.nextInt();
64         double change = money-Pay;
65         System.out.println("找錢:¥"+change);
66     }
67 
68 }

 

   常見錯誤

使用while循環結構解決問題時,經常會遇到下面的一些錯誤。

1、        沒有為循環變量賦初值

2、        缺少{}

 

三、do-while循環

 語法:

do{

//循環操作

}while(循環條件)

 

流程圖:

 

 舉例:

int i = 1;

do{

  System.out.println("好好學習!");

  i++;

}while(i<=100);

 

★練習--升級菜單切換

 

 1 import java.util.Scanner;
 2 
 3 public class Test04 {
 4     
 5     public static void main(String[] args) {
 6         //打印菜單界面
 7         System.out.println("歡迎使用MyShopping管理系統\n");
 8         System.out.println("***********************************************");
 9         System.out.println("\t\t1.客戶信息管理");
10         System.out.println("\t\t2.購物結算");
11         System.out.println("\t\t3.真情回饋");
12         System.out.println("\t\t4.注銷");
13         System.out.println("***********************************************");
14 
15         //鍵盤接收數據
16         System.out.print("\n請選擇,輸入數字:");
17         @SuppressWarnings("resource")
18         Scanner input = new Scanner(System.in);
19         int num;
20         //添加do-while循環
21         do{
22             num = input.nextInt();
23             //switch
24             switch(num){
25             case 1:
26                 System.out.println("執行客戶信息管理");
27                 break;
28             case 2:
29                 System.out.println("執行購物結算");
30                 break;
31             case 3:
32                 System.out.println("執行真情回饋");
33                 break;
34             case 4:
35                 System.out.println("執行注銷");
36                 break;
37             default:
38                 System.out.print("輸入錯誤,請重新輸入數字:");
39                 break;
40                 
41             }//switch
42             
43         }while(num<1||num>4);
44         
45         System.out.println("\n程序結束");
46 
47     }
48 
49 }

 

四、 本章總結:

  1、循環結構由循環條件和循環操作構成。只要滿足循環條件,循環操作就會反復執行。

  2、使用循環結構解決問題的步驟:

    分析循環條件和循環操作,

    套用循環結構的語法寫出代碼,

    檢查循環能否退出。

  3、編寫循環結構代碼時需注意:

    循環變量的初值、循環操作中對循環變量值的改變和循環條件三者之間的關系;確保循環次數正確,不要出現“死循環”。

  4、while循環結構的特點是:先判斷,后執行;

    do-while循環結構的特點是:先執行,再判斷。

 

附:程序調試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM