do…while 循環控制
1. 基本語法
循環變量初始化;
do{
循環體(語句);
循環變量迭代;
}while(循環條件);
2. 說明:
- do while 是關鍵字
- 也有循環四要素, 只是位置不一樣
- 先執行,再判斷,也就是說,一定會至少執行一次
- 最后 有一個 分號 ;
- while 和 do…while
3. do…while 循環執行流程分析
DoWhile01.java
- 畫出流程圖
- 使用 do…while 循環完成前面的題
- 輸出 10 句話:你好,兮動人。
int i = 1;
do {
System.out.println("你好,兮動人"+i);
i++;
} while (i <= 10);
System.out.println("退出 do...while 繼續執行....");
4. 注意事項和細節說明
- 循環條件是返回一個布爾值的表達式
- do…while 循環是先執行,再判斷, 因此它至少執行一次
5. 課堂練習題
- 打印 1—100
int i = 1;
do {
System.out.println(i);
i++;
} while (i <= 10);
- 計算 1—10 的和
int i = 1;
int sum = 0;
do {
sum += i;
System.out.println(i);
i++;
} while (i <= 10);
System.out.println("sum="+sum);
- 統計 1—200 之間能被 5 整除但不能被 3 整除的個數 ( DoWhileExercise01.java )
//化繁為簡
//(1) 使用do-while輸出 1-200
//(2) 過濾 能被5整除但不能被3整除的數 %
//(3) 統計滿足條件的個數 int count = 0;
//先死后活
//(1) 范圍的值 1-200 可以做出變量
//(2) 能被5整除但不能被3整除的 , 5 和 3 可以改成變量
int i = 1;
int count = 0; //統計滿足條件的個數
do {
if( i % 5 == 0 && i % 3 != 0 ) {
System.out.println("i=" + i);
count++;
}
i++;
}while(i <= 200);
System.out.println("count=" + count);
- 如果李三不還錢,則李四將一直使出五連鞭,直到李三說還錢為止
[System.out.println("李四問:還錢嗎?y/n")]
do…while …
DoWhileExercise02.java
//化繁為簡
//(1) 不停的問還錢嗎?
//(2) 使用char answer 接收回答, 定義一個Scanner對象
//(3) 在do-while 的while 判斷如果是 y 就不在循環
//一定自己動腦筋..
Scanner myScanner = new Scanner(System.in);
char answer = ' ';
do {
System.out.println("李四使出五連鞭~");
System.out.println("李四問:還錢嗎?y/n");
answer = myScanner.next().charAt(0);
System.out.println("他的回答是" + answer);
}while(answer != 'y');//判斷條件很關鍵
System.out.println("李三還錢了");