1. 程式人生 > >2.7 while 、for 循環控制語句

2.7 while 、for 循環控制語句

static [1] 條件 ont print img 區別 不知道 --

一、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(
"sum = " + sum); } }
while

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;
            }
            j
++; } System.out.println("sum = " +sum); } }
while、if

1.1.3 while的嵌套循環:

  外層循環執行一次,內層循環支持n次;

  雙層循環解決了需要進行循環嵌套的問題 => 二維結構 => 表格結構;

  外層循環控制,內層循環控制列;

技術分享圖片
public class Test01{
    public static void main(String[] args){
        
        int i = 1;
        while(i<=3){
            
            
int j = 1; while(j <= 4){ System.out.print("* "); j++; } System.out.println(); i++; } } }
while、while

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

總結:whilefor

  [1]while和for可以相互替換;

  [2]如果明確知道循環次數,一定要for;如果不知道循環次數,優先使用while;

2.7 while 、for 循環控制語句