while,do...while及for三種迴圈結構
阿新 • • 發佈:2021-11-02
迴圈結構
while迴圈
-
while (布林表示式) { //迴圈內容 }
-
只要布林表示式為true迴圈就會一直執行
-
我們大多數情況會讓迴圈停止下來,需要一個讓表示式失效的方式來停止迴圈
while迴圈示例
public class whileDemo01 { public static void main(String[] args) { int i=0; int sum=0; //輸出1-100 while (i<100){ i++; sum=i+sum; } System.out.println(sum); } }
do...while迴圈
-
do...while迴圈至少會執行一次
-
do () { //程式碼語句 } while (布林表示式);
-
-
while和do...while的區別
- while是先判斷後執行,do...while是先執行後判斷
- do...while總能保證迴圈至少被執行一次
do...while迴圈示例
public class dowhileDemo01 { public static void main(String[] args) { int i=0; int sum=0; do{ sum=sum+i; i++; }while (i<=100); System.out.println(sum); } }
public class dowhileDemo02 { public static void main(String[] args) { int a=0; while (a<0){ System.out.println(a); } System.out.println("==========================="); do { System.out.println(a); a++; }while (a<0); } }
for迴圈
-
for迴圈語句是一種支援迭代的通用結構,是最有效、最靈活的迴圈結構
-
for迴圈執行的次數在執行前就確定
-
for(初始化;布林表示式;更新) { //程式碼語句 }
-
for迴圈示例
public class forDemo01 {
public static void main(String[] args) {
int a=1;
while (a<=100){
System.out.println(a);
a+=2;
}
for (int i=1;i<=100;i++){
System.out.println(i);
}
System.out.println("for迴圈結束");
}
}
分別輸出0-100之間奇數及偶數的和
public class forDemo02 {
public static void main(String[] args) {
//0-100之間奇數和偶數的和
int sum1=0;
int sum2=0;
for (int i = 0; i <= 100; i+=2) {
sum1=sum1+i;
}
for (int j = 1; j <=100; j+=2) {
sum2=sum2+j;
}
System.out.println(sum1);
System.out.println(sum2);
}
}
輸出1-1000的質數,每三個換行
public class forDemo03 {
public static void main(String[] args) {
for (int i1 = 1; i1 <= 1000; i1++) {
if (i1%5==0){
System.out.print(i1+"\t");
if (i1%(5*3)==0){
System.out.println("\n");
}
}
}
}
}
陣列的定義及遍歷
public class forDemo05 {
public static void main(String[] args) {
int[] number={10,20,30,40,50}; //定義了一個數組
//遍歷陣列的元素
for (int i = 0; i < 5; i++) {
System.out.println(number[i]);
}
System.out.println("============================");
for (int x:number){
System.out.println(x);
}
}
}
列印九九乘法表
public class forDemo04 {
public static void main(String[] args) {
//拆分問題,拆分成不同的小問題逐步化解
//1.先列印第一列
//2.把固定的1再用迴圈包起來
//3.去掉重複項,i2<=i1
//4.調整樣式
for (int i1 = 1; i1 <= 9; i1++) {
for (int i2 = 1; i2 <= i1; i2++) {
System.out.print(i2+"*"+i1+"="+(i1*i2)+"\t");
}
System.out.println();
}
}
}
輸出三角形
public class testDemo01 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
//輸出的空格逐漸減少,可將初始值設為最大之後逐漸減小
for (int i1 = 5; i1 >= i; i1--) {
System.out.print(" ");
}
//輸出的數字逐漸增多,可將初始值設為最小之後逐漸增大
for (int i1 = 1; i1 <= i; i1++) {
System.out.print(i1);
}
//輸出的數字逐漸增多,將初始值設為最後之後逐漸增大
for (int i1 = 1; i1 < i; i1++) {
System.out.print(i1);
}
System.out.println();
}
}
}
break與continue
- break用於跳出當前迴圈結構,繼續執行後續語句;
- continue用於結束本次迴圈,不再執行本次迴圈的後續語句,直接進入下次迴圈;