zoukankan      html  css  js  c++  java
  • 循环结构(二)

    一.for 循环

          语法:

                  for(表达式一;表达式二;表达式三){
                         循环操作
                    }
               表达式一:参数初始化
               表达式二:条件判断
               表达式三:更新循环变量

          执行流程:

                 步骤一:执行表达式一.初始化参数
                 步骤二:执行表达式二进行循环条件的判断
                 步骤三:如果循环条件为true则执行循环操作,如果为false则退出循环执行以下代码
                 步骤四:当循环操作执行完毕后执行表达式三,更新循环变量

            表达式三执行完毕后继续执行表达式二进行循环判断,如果为真则执行循环操作,如果为假则执行以下代码,以此类推...........

    案例:
           从控制台循环录入5门课程成绩,求出平均分
            public class Demo02 {
                     public static void main(String[] args) {
                            Scanner input=new Scanner(System.in);
                                  //总分
                           double sum=0;
                           for (int i = 0; i < 5; i++) {
                            System.out.println("请输入第"+(i+1)+"课课门成绩:");
                                       //单门成绩的平均分
                              double score=input.nextDouble();
                             sum=sum+score;
                          }
                                //平均分
                           double avg=sum/5;
                          System.out.println("5门课程的平均分为:"+avg);
                    }
            }
    

      二.break和continue

        1.使用场合
                break常用于switch结构和循环结构中
               continue一般用于循环结构中
        2.作用(循环结构中)
               break语句终止某个循环,程序跳转到循环块外的下一条语句
                continue跳出本次循环,进入下一次循环
       三.循环结构总结
             区别1:语法

             区别2:执行顺序
                  while 循环:先判断,再执行
                 do-while循环:先执行,再判断
                 for循环:先判断,再执行

        区别3:适用情况
               循环次数确定的情况,通常选用for循环
               循环次数不确定的情况,通常选用while或do-while循环

    示例:
             public class Demo02 {
                     public static void main(String[] args) {
                            Scanner input=new Scanner(System.in);
                                  //总分
                           double sum=0;
                           for (int i = 0; i < 5; i++) {
                            System.out.println("请输入第"+(i+1)+"课课门成绩:");
                                       //单门成绩的平均分
                              double score=input.nextDouble();
                             sum=sum+score;
                          }
                                //平均分
                           double avg=sum/5;
                          System.out.println("5门课程的平均分为:"+avg);
                    }
            }
    
    for循环
    语法:
    for(表达式1;表达式2;表达式3){
                             //循环体
     }
    表达式1:赋值语句>循环结构的初始部分,为循环变量赋初值,eg:int i =0
    表达式2:条件语句>循环结构的循环条件,eg:i<100
    表达式3赋值语句,通常使用++或--运算符>循环结构的迭代部分,通常用来修改循环变量的值eg:++
    for关键字后面括号中的三个表达式必须用分号隔开.for循环中的这三个部分及{}中的循环体使循环结构必需的四个组成部分完美地结合在了一起,非常简明
    for循环结构执行的顺序:
      (1)执行初始部分(int i = 0;).
      (2)进行循环条件判断(i<100)
      (3)根据循环条件判断结果.如果为true,则执行循环体;如果为false,则退出循环,步骤(4),(5)均不执行.
      (4)执行迭代部分,改变循环变量值(i++).
      (5)依次重复步骤(2)~步骤(4),直到退出for循环结构.
    表达式1这个初始部分仅仅执行了一次.
    注意!
      for循环结构有三个表达式,在语法上,这三个表达式都可以省略,但表达式后面的分号不能省略.如果省略了表达式,要注意保证循环能够正常运行.
    首先给出一个表达式:
                                  for(int i =0; i< 10;i++);
    >省略表达式1:
                for(; i< 10;i++);
    如果出现"表达式1"省略的情况,则需要在for语句前给循环变量赋值,因此可将上面的语句修改为:
             int i = 0;
                     for(; i< 10;i++);
    >省略表达式2:
             for(int i =0;   ;i++);
    如果出现"表达式2"省略的情况,会出现"死循环"的情况,一种方法是添加表达式2,一种是在循环体中使用break强制跳出循环结构.关于break语句的用法,将在后面介绍.
     
    >省略表达式3:
                for(int i =0; i< 10;);
     
    如果出现"表达式3"省略的情况,,变量的值始终是0,因此循环条件永远成立,程序也会出现死循环.那我们可以在循环体中添加i++;
                                    for(int i =0; i< 10;){
                                          i++;   
              }
    在实际开发中,为了提高代码的可读性,尽量不要省略各个表达式.如果需要省略,可以考虑是否改用while或do-while结构.
    跳转语句
     
    Java支持三种形式的跳转:break,continue和return.return在后面讲.
       break语句:
          break语句在前面章节中switch语句中有使用,break语句用于终止某个循环,使程序跳到循环体外的下一条语句.在循环中位于break后的语句将不再执行,循环也停止执行.
          break语句不仅可以用在for循环结构中,也可以用在while和do-while循环结构中,break语句通常与if条件语句一起使用.
       continue语句:
          continue语句可以用于for循环结构,也可以用于while和do-while循环结构.在for循环结构中,continue语句使程序先跳转到迭代部分,然后判断循环条件.如果为true,则继续下一次循环;否则终止循环.在while循环结构中,continue语句执行完毕后,程序将直接判断循环条件.continue语句只能用在循环结构中.
    对比两个结构:
    >break语句用于终止某个循环,程序跳转到循环体外的下一条语句.
    >continue语句用于跳出本次循环,进入下一次循环的语句.
    循环结构总结
    三种循环结构:while,do-while和for循环结构.
    三种循环结构都有四个必不可少的部分:初始部分,循环条件,循环体,迭代部分,缺少了任何一个都可能造成严重错误.
    对比>语法不同
    while循环语句:
            while(<条件>){
           //循环体
       }
    do-while循环语句:
           do{
                   //循环体
             }while(<条件>);
    for循环语句:
             for(初始化;条件;迭代) {
        //循环体
              }
    执行顺序不同
    >while循环结构:先进行条件判断,在执行循环体.如果条件不成立,退出循环.
    >do-while循环结构:先执行循环体,在进行条件判断,循环体至少执行一次.
    >for循环结构:先执行初始化部分,再进行条件判断,然后执行循环体,最后进行迭代部分的计算.如果条件不成立,跳出循环.
    适用情况不同
    >对于循环次数确定的情况下,通常选用for循环结构;对于循环次数不确定的情况,通常选用while和do-while循环结构.
    

      

  • 相关阅读:
    第36课 经典问题解析三
    第35课 函数对象分析
    67. Add Binary
    66. Plus One
    58. Length of Last Word
    53. Maximum Subarray
    38. Count and Say
    35. Search Insert Position
    28. Implement strStr()
    27. Remove Element
  • 原文地址:https://www.cnblogs.com/yun---meng/p/12716717.html
Copyright © 2011-2022 走看看