循环结构(二)

一.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循环结构.

  

原文地址:https://www.cnblogs.com/yun---meng/p/12716717.html