for迴圈和while迴圈的區別 使用區別:如果你想在迴圈結束後,繼續使用控制條件的那個變數,用while迴圈,否則用for迴圈。不知道用for迴圈。 因為變數及早的從記憶體中消失,可以提高記憶體的使用效率。 其實還有一種場景的理解: 如果是一個範圍的,用for迴圈非常明確。 如果是不明確要做多少次,用 ...
for迴圈和while迴圈的區別
使用區別:如果你想在迴圈結束後,繼續使用控制條件的那個變數,用while迴圈,
否則用for迴圈。不知道用for迴圈。
因為變數及早的從記憶體中消失,可以提高記憶體的使用效率。
其實還有一種場景的理解:
如果是一個範圍的,用for迴圈非常明確。
如果是不明確要做多少次,用while迴圈較為合適。
舉例:吃葡萄。
優先考慮for,其次考慮while,最後考慮do...while
class WhileVsForDemo { public static void main(String[] args) { //for迴圈實現 for(int x=0; x<10; x++) { System.out.println("我愛Java"); } //這裡不能在繼續訪問了 //System.out.println(x); //while迴圈實現 int y = 0; while(y<10) { System.out.println("我愛Java"); y++; } //這裡是可以繼續訪問的 System.out.println(y); } }
/* 迴圈語句的區別: do...while迴圈至少執行一次迴圈體。 而for,while迴圈必須先判斷條件是否成立,然後決定是否執行迴圈體語句。 */ class DoWhileDemo { public static void main(String[] args) { int x = 3; while(x < 3) { System.out.println("我愛Java");//不會被執行 x++; } System.out.println("--------------"); int y = 3; do { System.out.println("我愛Java");//執行一次 y++; }while(y < 3); } }
WhileDemo:
需求:小芳的媽媽每天給她2.5元錢,她都會存起來,但是,
每當這一天是存錢的第5天或者5的倍數的話,她都會花去6元錢,
請問,經過多少天,小芳才可以存到100元錢。
分析:(分解問題,降低難度)
A:小芳的媽媽每天給她2.5元錢
double dayMoney = 2.5;
B:她都會存起來
double daySum = 0;
C:從第一天開始存儲
int dayCount = 1;
D:經過多少天,小芳才可以存到100元錢。
double result = 100;
E:這一天是存錢的第5天或者5的倍數的話,她都會花去6元錢,
說明要判斷dayCount的值,如果對5整除就減去6元錢。
daySum -= 6;
由此還隱含了一個問題,就是如果不是5的倍數天的話,錢要累加
daySum += dayMoney;
F:因為不知道是多少天,所以我用死迴圈while語句,
一旦超過100元我就退出迴圈。
class WhileDemo {
public static void main(String[] args) {
//每天要存儲的錢是2.5元
double dayMoney = 2.5;
//存錢的初始化值是0
double daySum = 0;
//從第一天開始存儲
int dayCount = 1;
//最終存儲不小於100就不存儲了
int result = 100;
//因為不知道是多少天,所以我用死迴圈,
while(true) {
//累加錢
daySum += dayMoney;
//一旦超過100元我就退出迴圈。
if(daySum >= result) {
System.out.println("共花了"+dayCount+"天存儲了100元");
break;//滿足條件即跳出死迴圈
}
if(dayCount%5 == 0) {
//花去6元錢
daySum -= 6;
System.out.println("第"+dayCount+"天花了6元錢");
}
//天數變化
dayCount++;
}
}