美文网首页JavaSE
第七章 深入循环结构

第七章 深入循环结构

作者: 码匠_CodeArtist | 来源:发表于2017-10-08 17:39 被阅读0次

    一、break

    break关键字用于强行结束循环语句,不管是哪种循环语句,将break置于循环体部分并执行就会终止循环。break还常用于switch语句中,用法可以参考前一章的分支语句。

    例如使用break关键字求出1+2+...+100的值:

    public class Demo01 {
        public static void main(String[] args) {
            int s = 0;
            int i = 1;
            while(true){
                s+=i++;
                if(i>100)
                    break;
            }
            System.out.println(s);      //print: 5050
        }
    }
    

    分析:代码中while(true)为死循环,当i>100的时候,使用break强行结束循环语句,以达到求和的目的。

    二、continue

    continue关键字用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执

    行的语句,接着进行下一次是否执行循环的判定。

    例如使用continue关键字求出1~100内偶数的和:

    public class Demo02 {
        public static void main(String[] args) {
            int s = 0;
            for(int i=0;i<=100;i++){
                if(i%2==1)
                    continue;
                s+=i;
            }
            System.out.println(s);      //print: 2550
        }
    }
    

    分析:当每次i的值取奇数的时候,执行一次continue就能结束此次的循环。

    三、嵌套循环

    1. 用while循环输出九九乘法表。

    public class Demo03 {
        public static void main(String[] args) {
            int i = 1;
            while(i<10){
                int j = 1;
                while(j<=i){
                    System.out.print(j+"*"+i+"="+(i*j)+"\t");
                    j++;
                }
                i++;
                System.out.println();
            }
        }
    }
    

    2. 用do-while循环输出九九乘法表。

    public class Demo04 {
        public static void main(String[] args) {
            int i = 1;
            do{
                int j = 1;
                do{
                    System.out.print(j+"*"+i+"="+(i*j)+"\t");
                    j++;
                }while(j<=i);
                i++;
                System.out.println();
            }while(i<10);
        }
    }
    

    3. 用for循环输出九九乘法表。

    public class Demo05 {
        public static void main(String[] args) {
            for(int i=1;i<10;i++){
                for(int j=1;j<=i;j++){
                    System.out.print(j+"*"+i+"="+i*j+"\t");
                }
                System.out.println();
            }
        }
    }
    

    上面三段代码的执行结果为:

    4. 百钱买百鸡。

    用一百文钱买一百只鸡,其中包括公鸡、母鸡和小鸡,公鸡:5文钱,母鸡:3文钱,小鸡:1文钱3只,列出买法。

    public class Baiqianbaiji {
        public static void main(String[] args) {
            for(int i=1;i<=18;i++){
                for(int j=1;j<=32;j++){
                    int k = 100-i-j;
                    if(i*5+j*3+k/3==100 && k%3==0){
                        System.out.println("公鸡:"+i+"只\t母鸡:"+j+"只\t小鸡:"+k+"只");
                    }
                }
            }
            //  print:
            //  公鸡:4只   母鸡:18只  小鸡:78只
            //  公鸡:8只   母鸡:11只  小鸡:81只
            //  公鸡:12只  母鸡:4只   小鸡:84只
        }
    }
    

    四、打印多边形

    1. 矩形

    public class Demo07 {
        public static void main(String[] args) {
            int width = 5;
            int height = 6;
            for(int i=0;i<height;i++){
                for(int j=0;j<width;j++){
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
    

    分析:代码中,width为宽度,height为高度,可以自己设置。

    2. 等边三角形

    public class Demo07 {
        public static void main(String[] args) {
            int size = 5;
            for(int i=0;i<=size;i++){
                for(int j=size;j>i;j--){
                    System.out.print(" ");
                }
                for(int j=0;j<(2*i+1);j++){
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    } 
    

    分析:其中size为等边三角形的大小,可自行设置。

    3. 菱形

    public class Demo08 {
        public static void main(String[] args) {
            int size = 5;
            for(int i=0;i<(size+1);i++){
                for(int j=size;j>i;j--){
                    System.out.print(" ");
                }
                for(int j=0;j<(2*i+1);j++){
                    System.out.print("*");
                }
                System.out.println();
            }
            for(int i=0;i<size;i++){
                for(int j=0;j<=i;j++){
                    System.out.print(" ");
                }
                for(int j=(2*size-1);j>2*i;j--){
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
    

    分析:其中size为菱形的大小,可自行设置。

    相关文章

      网友评论

        本文标题:第七章 深入循环结构

        本文链接:https://www.haomeiwen.com/subject/clcyyxtx.html