2.7 while 、for 迴圈控制語句
阿新 • • 發佈:2018-12-31
一、while語句:
在程式中,需要重複性的做某件事;
1.1.1 while:
public class Test{ public static void main(String[] args){ // 求1-5所有整數的和 // 0+1+2+3+4+5 int i = 1; //變數初始化 int sum = 0; while(i <= 5//控制迴圈條件){ sum = sum + i;//迴圈操作 i++;//迴圈條件變化 } System.out.println(while"sum = " + sum); } }
1.1.2 while與 if 的結合使用:
public class Test15{ public static void main(String[] args){ // 求1-10所有偶數的和 int j = 1; int sum = 0; while(j <= 10){ // 業務邏輯:求偶數的和 if(j % 2 == 0){ sum += j; } jwhile、if++; } System.out.println("sum = " +sum); } }
1.1.3 while的巢狀迴圈:
外層迴圈執行一次,內層迴圈支援n次;
雙層迴圈解決了需要進行迴圈巢狀的問題 => 二維結構 => 表格結構;
外層迴圈控制行,內層迴圈控制列;
public class Test01{ public static void main(String[] args){while、whileint i = 1; while(i<=3){ int j = 1; while(j <= 4){ System.out.print("* "); j++; } System.out.println(); i++; } } }
1.2 do···while:
public class Test{ public static void main(String[] args){ int sum = 0; int i = 1;//變數初始化 do{ if(i % 2 == 0){ sum += i;//迴圈操作 } i++;//迴圈控制變化 }while(i<=10//迴圈控制條件); System.out.println(""+sum); } }do while
while 與 do···while 的區別:
do…while迴圈先執行,後判斷;while先判斷,後執行。dowhile至少執行一次。
2.1 for 迴圈:
2.1.1普通 for 迴圈:
public class Test{ public static void main(String[] args){ //(變數初始化;迴圈控制條件;迴圈控制變化) for(int i=0;i<=10;i++){ System.out.println(i);//迴圈操作 } } }for
2.1.2 雙層for迴圈:
for(int i=1;i<=3;i++){ for(int j=1;j<=4;j++){ System.out.print("* "); } System.out.println(); }for、for
2.1.3 複雜的for迴圈:
int num = 10; for(int i=0,j=num;i<=num;i++,j--){ System.out.println(i+"+"+j+"="+(i+j)); }
2.1.4 特殊的for迴圈:
public class Test13{ public static void main(String[] args){ // [1]表示式1在for迴圈外宣告 /* int sum = 0; int i = 1; for(;i<=10;i++){ sum += i; } System.out.println("i="+i); System.out.println("sum = " + sum); */ // [2]省略表示式2 ==> 死迴圈 /* int sum = 0; for(int i = 1;;i++){ sum += i; System.out.println("sum="+sum); } */ // System.out.println("sum = " + sum); // [3]省略表示式3 => 可能導致死迴圈 /* int sum = 0; for(int i = 1;i<=10;){ sum += i; System.out.println("sum="+sum); i++; } */ int sum =0; int i = 1; for(;i<=10;){ sum += i; System.out.println("sum="+sum); i++; } } }
//死迴圈 for(;;){ }View Code
總結:while和for
[1]while和for可以相互替換;
[2]如果明確知道迴圈次數,一定要for;如果不知道迴圈次數,優先使用while;