Fork me on GitHub

Java从零开始学八(循环结构)

 一、循环结构

循环结构则是根据判断条件的成立与否,决定程序段落的执行次数,而这个程序段落就称为循环主体。

 二、While循环

while是循环语句,也是条件判断语句。当事先不知道循环该执行多少次的时,就要用到while循环。while循环的格式如下:
while (循环条件判断){
语句1 ;
语句2 ;
语句n ;
循环条件更改 ;
}

示例一、使用While进行100以内累加操作

package loop;

public class test1 {

    public static void main(String[] args) {
        // 使用While进行100以内累加操作
        int sum=0;    //定义变量保存累加的值
        int i=1;      //定义整型变量i
        while(i<=100){
            sum+=i;
            i++;
        }
   System.out.println("100以内整数之和: "+sum);
    }

}

结果:100以内整数之和: 5050

While是先判断条件是否成立,如果成立则进入循环,不成立则跳过循环

示例二、同上i的值变为101

package loop;

public class test {

    public static void main(String[] args) {
        // 使用While进行100以内累加操作
                int sum=0;    //定义变量保存累加的值
                int i=101;      //定义整型变量i
                while(i<=100){
                    sum+=i;
                    i++;
                }
           System.out.println("100以内整数之和: "+sum);
     
    }

}

结果:100以内整数之和: 0

三、do-while循环

do…while循环也是用于未知循环执行次数的时候,而while循环及do…while循环最大不同就是进入while循环前,while语句会先测试判断条件的真假,再决定是否执行循环主体,而do…while循环则是“先做再说”,每次都是先执行一次循环主体,然后再测试判断条件的真假,所以无论循环成立的条件是什么,使用do…while循环时,至少都会执行一次循环主体,语句格式:
do{
语句1 ;
语句2 ;
….
语句n ;
循环条件改变 ;
}while (循环条件判断);
 

示例三、使用do-While进行100以内累加操作

package loop;

public class test {

    public static void main(String[] args) {
        // 使用While进行100以内累加操作
                int sum=0;    //定义变量保存累加的值
                int i=1;      //定义整型变量i
                do{
                    sum+=i;
                    i++;
                }while(i<=100);
           System.out.println("100以内整数之和: "+sum);
     
    }

}

结果:100以内整数之和: 5050

四、for循环

对于while和do…while两种循环来讲,操作时并不一定非要明确的知道循环的次数,而如果开发者已经明确的知道了循环次数的话,那么就可以使用另外一种循环语句——for循环。 格式如下:
for (赋值初值;判断条件;赋值增减量){
语句1 ;
….
语句n ;
}

示例四、使用for进行100以内累加操作

package loop;

public class test2 {

    public static void main(String[] args) {
        // 使用for进行100以内累加操作
        int sum=0;    //定义变量保存累加的值
     for(int i=1; i<=100;i++){
         sum=sum+i;
     }
     System.out.println("100以内整数之和: "+sum);
     
    }

}

结果:100以内整数之和: 5050

 4.1循环嵌套

示例五、for循环打印99乘法表

package loop;

public class test3 {

    public static void main(String[] args) {
        // 使用for循环打印99乘法表
        for(int i=1;i<=9;i++){
            
            for(int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+(j*i)+"\t");
            }
            System.out.println();
        }

    }

}

结果:

1*1=1    
1*2=2    2*2=4    
1*3=3    2*3=6    3*3=9    
1*4=4    2*4=8    3*4=12    4*4=16    
1*5=5    2*5=10    3*5=15    4*5=20    5*5=25    
1*6=6    2*6=12    3*6=18    4*6=24    5*6=30    6*6=36    
1*7=7    2*7=14    3*7=21    4*7=28    5*7=35    6*7=42    7*7=49    
1*8=8    2*8=16    3*8=24    4*8=32    5*8=40    6*8=48    7*8=56    8*8=64    
1*9=9    2*9=18    3*9=27    4*9=36    5*9=45    6*9=54    7*9=63    8*9=72    9*9=81    

 五、break语句

break语句可以强迫程序中断循环,当程序执行到break语句时,即会离开循环,继续执行循环外的下一个语句,如果break语句出现在嵌套循环中的内层循环,则break 语句只会跳出当前层的循环。以下图的for循环为例,在循环主体中有break语句时,当程序执行到break,即会离开循环主体,而继续执行循环外层的语句。

示例六、实现输出1-10,遇到4时使用break;

package loop;

public class test4 {

    public static void main(String[] args) {
        // 实现输出1-10,遇到4时程序退出
        for(int i=1;i<=10;i++){
            if (i==4){
                break;
            }
            System.out.print(i+" ");
        }
       System.out.println("循环结束");
    }

}

结果:1 2 3 循环结束

六、continue语句

continue语句可以强迫程序跳到循环的起始处,当程序运行到continue语句时,即会停止运行剩余的循环主体,而是回到循环的开始处继续运行。以下图的for循环为例,在循环主体中有continue语句,当程序执行到continue,即会回到循环的起点,继续执行循环主体的部分语句。
continue是跳过当前循环进入下次循环

示例七、同上实现输出1-10,遇到4时使用continue;

package loop;

public class test4 {

    public static void main(String[] args) {
        // 实现输出1-10,遇到4时使用continue
        for(int i=1;i<=10;i++){
            if (i==4){
                continue;
            }
            System.out.print(i+" ");
        }
       System.out.println("循环结束");
    }

}

结果:1 2 3 5 6 7 8 9 10 循环结束

七、return语句

结束当前方法的执行并退出,返回调用该方法的语句处。

示例入、同上实现输出1-10,遇到4时使用return;

package loop;

public class test4 {

    public static void main(String[] args) {
        // 实现输出1-10,遇到4时使用return
        for(int i=1;i<=10;i++){
            if (i==4){
                return;
            }
            System.out.print(i+" ");
        }
       System.out.println("循环结束");
    }

}

结果:1 2 3

可以看到“循环结束”没有输出,当i=4时,满足执行return,结束整个方法的执行

 

posted @ 2015-01-24 00:05  森林森  阅读(944)  评论(0编辑  收藏  举报