循环结构

拈花ヽ惹草 提交于 2020-01-04 03:04:07

循环结构

  • 循环语句功能:在某些条件满足的情况下,反复执行特定代码的功能

  • 循环语句的四个组成部分:

    • 初始化部分
    • 循环条件部分
    • 循环体部分
    • 迭代部分
  • 循环语句分类

    • for循环

    例1:连续输出好多好多东西

    public class practice {
        public static void main(String[] args){
            //连续输出五次hello world
    //        System.out.println("hello world");
    //        System.out.println("hello world");
    //        System.out.println("hello world");
    //        System.out.println("hello world");
    //        System.out.println("hello world");
            //这样可以输出结果,但是要求的次数多了就做不到了
            //用for循环可以解决
            for(int i = 0;i < 5;i++){//初始化表表达式;布尔值测试表达式;更改表达式
                System.out.println(i);
    //          System.out.println("hello world");
            }
            //初始化变量,咱们这里是i,判断i<5,如果是,执行代码块{ },执行更改表达式i++给i重更新赋值,值就变为1,后面同理
            //判断变量i<5,当前i是5.判断结果是false,不再往下执行,结束循环
        }
    }
    
    

    例2:求水仙花数

    for(int i = 100;i <=999;i++){
                //水仙花数怎么表示,145,145/100=1,(145-1*100)/10=4,145-1*100-4*10=5
                int m = i/100;
                int n =(i - m*100)/10;
                int k = i -  m*100 - n*10;
    //            System.out.println(i);
    //            System.out.println(m + " " + n + " " + k);//中间引号里那东西是空格,就是要在那加个空格,得引上
                int res = m*m*m + n*n*n + k*k*k;//水仙花数要满足的要求就这样
                if(res == i){//判断是不是水仙花数
                    System.out.println(i);
                }
    
    • whlie循环

    例1:循环输出1到100的数字(等同for的例1)

            int i = 1;
            while(i <= 100){
                //获取变量i <= 100的计算结果,是true还是false,如果true就执行大括号里面的代码,否则不执行
                System.out.println(i);
                i++;//不断改变变量i的值
    
    • do/while循环

    例1:循环输出1到100的数字

            int m = 1;
            do {
                    System.out.println(m);
                    m++;
                }while (m <= 100);
            
    

    例2:求1到100之间所有偶数的和,用for循环和while循环分别完成

    for

     int res = 0;
            for (int i = 1;i < 101;i++){
                if (i % 2 == 0){
                    res += i;
                }
            }
            System.out.println(res);//要在for循环之外输出最后的结果,因为只有全部循环计算完毕才有1到100之间所有偶数的和

​ while


        int res0 = 0;
        int k = 1;
        while (k <= 100){
            if (k % 2 == 0){
                res0 += k;
            }
            k++;
        }
        System.out.println(res0);

无限循环

for(;; ){ //for的无限循环

}

while(true){ //whlie的无限循环

}

嵌套循环

  • 将一个循环放在另一个循环体内,就形成了嵌套循环。for,while,do…while均可以作为外层循环和内层循环

  • 只有内层循环为false时,才会完全跳出内层循环,才可能结束外层的当次循环,开始下一次的循环

  • 设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n=mn次

    例:九九乘法表

    for (int i = 1; i <= 9; i++){
            for (int j = 1;j <= i;j++){
                System.out.print(i + " * " + j + " = " + (i * j) + " ");//print不换行,println换行
            }
            System.out.println();
        }

注:嵌套循环中外层的数最好小于内层的

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!