Java學習 (六)、循環結構,java學習循環結構
一、while循環:又稱為當型循環
while(循環條件){
//循環操作語句
}
要點:①先判斷後執行②循環次數不定③避免死循環
例題:輸入一個正整數,把整數逆序輸出,如輸入12345,輸出54321

![]()
1 import java.util.Scanner;
2 public class dowhileforDemo{
3 public static void main(String []args)
4 {
5 //輸入一個正整數,把整數逆序輸出,如輸入12345,輸出54321
6 Scanner input=new Scanner(System.in);
7 System.out.println("請輸入一個正整數");
8 int number=input.nextInt();
9 while(number!=0)
10 {
11 int res=number%10;
12 System.out.print(res);
13 //number=number/10;
14 number/=10;
15 }
16 }
17 }
View Code
二、do while循環:又稱為直到型循環
要點:①先執行後判斷②至少執行一次③最後的分號勿漏
do{
//循環操作語句
}while(循環語句);
例題:計算從1開始的連續n個自然數之和,當其和剛好超過100時結束,求n的值

![]()
1 public class dowhileforDemo{
2 public static void main(String []args)
3 {
4 //計算從1開始的連續n個自然數之和,當其和剛好超過100時結束,求n的值
5 int number2=0;
6 int sum=0;
7 do{
8 number2++;
9 sum+=number2;
10 }while(sum<=100);
11 System.out.println("sum="+sum);
12 System.out.println("number2="+number2);
13 }
14 }
View Code
三、for循環
for(表達式1;表達式2;表達式3){
//循環操作;
}
表達式1:參數初始化,對變量賦值
表達式2:條件判斷
表達式3:更新循環體變量,防止死循環
執行順序:1、參數初始化2、條件判斷 3、循環操作4、更新循環體變量5、條件判斷6、循環操作7、更新循環體變量….(重復2,3,4步)
例題:打印1-10

![]()
1 public class dowhileforDemo{
2 public static void main(String []args)
3 {
4 //打印1-10
5 for(int i=1;i<=10;i++)
6 {
7 System.out.println(i);
8 }
9 }
10 }
View Code
for循環的3個表達式都可以省略
①表達式1省略

![]()
1 public class dowhileforDemo{
2 public static void main(String []args)
3 {
4 //打印1-10
5 int i=1;
6 for(;i<=10;i++)
7 {
8 System.out.println(i);
9 }
10 }
11 }
View Code
②表達式2省略會導致條件永遠成立,形成死循環
③表達式3省略,也可能導致條件永遠成立,形成死循環
但可以寫在循環操作中

![]()
1 public class dowhileforDemo{
2 public static void main(String []args)
3 {
4 //打印1-10
5 int i=1;
6 for(;i<=10;)
7 {
8 System.out.println(i);
9 i++;
10 }
11 }
12 }
View Code
④3個表達式全部省略,條件永遠成立,形成死循環
分號不能省略
四、while循環與for循環比較
while循環是不確定型循環(循環次數不確定),for循環是確定型循環(循環次數確定)
兩者可以相互轉換
當循環次數確定時,使用for循環
當循環次數不確定時,使用while循環
五、二重循環
for(表達式1;表達式2;表達式3){//外層循環
for(表達式1;表達式2;表達式3){//內層循環
}
}
要點:①在循環體內含有一個循環語句的循環稱為二重循環
②當外循環執行一次,內循環要循環完畢,再回到外循環進入下一次循環,直到外循環執行完畢為止
例題:實現輸出*號的三角形陣列共9行,第一行輸出1顆*,第二行輸出2顆*…第9行輸出9顆*

![]()
1 public class dowhileforDemo{
2 public static void main(String []args)
3 {
4 //實現輸出*號的三角形陣列共9行,第一行輸出1顆*,第二行輸出2顆*…第9行輸出9顆*
5 for(int i=1;i<=9;i++)
6 {
7 //外循環控制打印行數
8 for(int j=1;j<=i;j++)
9 {
10 //內循環控制打印的*個數
11 System.out.print("*");
12 }
13 System.out.println();
14 }
15 }
16 }
View Code