• Day05_流程控制02 循环结构


    循环结构

        主要有三种基本循环结构语句:for循环   while循环   do-while循环  

       循环结构通常包含四个部分:1.初始化部分(声明或者定义一个需要循环的变量,通常使用int类型的整数)
                                              2.循环条件部分(循环结束的条件表达式 布尔类型值ture /false   )
                                              3.循环体部分(当条件满足时,程序需要加载的代码)
                                              4.迭代部分(循环变量的变化情况)-->往上递增/往下递减

      

          for循环

         语法结构:for(1初始化语句;2循环条件表达式;4迭代语句){
                                    3循环体语句代码
                                    .
                                    .
                                    .
                                    ...
                                }

          执行的过程:
                                1-->2-->3-->4-->2-->3-->4-->2-->3-->4.......直到程序结束

             

         注意: 1.说明:当循环条件表达式的结果值为false,那么该循环语句结构就结束了
                                    此时程序就跳出该循环结构,往下执行后面的代码。
                                 2.循环条件表达式需要关联前面的初始化声名的变量。
                                 3.每次执行到循环条件表达式时,都会重新判断该表达式的真假,
                                    当该表达时为真的时候,执行循环语句结构中循环体代码
                                    当该表达式为假的时候,该循环语句结束,程序跳出该循环结构
                                 4.查看该循环语句结构的循环次数(关键信息)。

          

    复制代码
     eg:要求在程序中输出10行文本信息“我很棒,我很优秀,我是最棒的!”
    
                    for(int i = 0 ; i < 10; i++){  // index-->索引()  此处i++可以换为i=i+1;
                            System.out.println("我很棒,我很优秀,我是最棒的");
                    }

              
    执行过程:
    int i = 0;-->i<10;-->System.out.println("我很棒,我很优秀,我是最棒的");
    --> i++; 此时i = 1 --> i < 10;-->System.out.println("我很棒,我很优秀,我是最棒的");
    --> i++; 此时i = 2 --> i < 10;-->System.out.println("我很棒,我很优秀,我是最棒的");
    --> i++; 此时i = 3 .......
    --> i++; 此时i = 10 --> i > 10;此时该表达式结果为false 循环结构结束。
    循环次数:0--> = 10次

    (累加)eg:正整数累加 = 1 + 2 + 3 + 4 + 5 + 6 +....+100
          int sum = 0;// sun 累加和
          for(int i = 1; i <= 100; i++){
       sum = sum + i ;//累加之后赋给sum变量
    }
          
          System.out.println("输出前100个正整数的和为:" + sum);

    
    
    复制代码

     

        跳出语句:break   continue
                            break:
                                    中断,打断,停止,那就是让当前正在执行的循环语句结构(单层)停止,程序跳出该循环语句结构
                            continue:
                                    继续,那就是执行到该跳出语句时,程序发生跳跃,但是没有跳出该循环语句结构,吐过该循环语句中的
                                    循环条件成立,那么程序会再次进入到该循环语句结构中,执行该循环语句结构中的循环体内容。

             这两个都写在循环体部分下方

        while循环

        语法格式:

                        1.初始化部分
                        while(2.布尔类型的表达式){
                                3.循环体的代码
                                4.迭代部分
                        }

         执行过程:
                        

          1-->2-->3-->4-->2-->3-->4-->2-->3.......-->2循环结束,程序跳出

        

    复制代码
    eg: 1+2-3+4-5+6-7...+100,他的值是多少?
            int sum = 0;
            int i = 2 ;// 初始化部分
            while (i <= 100){//循环条件部分
                //奇偶数判定  3.循环体部分
                if( i % 2 == 0){
                    sum =sum +i;
                }else{
                    sum = sum-i;
                }
    
            i++;// 4.迭代部分   循环变量的变化情况
        }
    
            System.out.println(sum+1);
    复制代码

      

      do-while循环

      语法结构:
                    1.初始化部分
                        do{

                            3.循环体部分

                            4.迭代部分
                        }while(2.循环条件);

      与while循环的区别:  do-while循环体结构中的循环体代码会先执行一次,然后再判断循环条件是否成立
                         如果循环条件成立,那么程序会再次进入while循环结构中,执行循环体代码
                         如果循环条件不成立,那么循环结构语句结束,程序跳出该循环结构。

      执行过程:
                      1-->3-->4-->2-->3-->4-->2-->3-->4-->2-->3......-->2循环结束

    复制代码
    eg:求一下前100项能被3整除或者能被5整除或者能被7整除的但是不能被2整除的数的和。
            //思路:do-while
            int i = 1;
            int sum = 0;
            do {
                if( i % 2 != 0 && (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) ){
                    sum = sum + i;
                }
    
                i++;
            }while(i <= 100 );
            //输出该规则下的前100项的和
            System.out.println("该100项的和为" + sum);// 2328
  • 相关阅读:
    管道通信
    进程间的八种通信方式----共享内存是最快的 IPC 方式
    归并排序时间复杂度
    vector中的push_back函数的意思是什么
    如何实现android和服务器长连接
    android中实现service动态更新UI界面
    android中如何实现UI的实时更新---需要考虑电量和流量
    Map集合排序
    (二十一)自定义Tabbar
    (二十)首页内容详细【详细页】+ 评论 + 回复
  • 原文地址:https://www.cnblogs.com/rosiness/p/13842074.html
Copyright © 2020-2023  润新知