Java入门第25课——循环结构

1.1 什么是循环结构

1.1.1 什么是循环结构

    · 循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复性执行。

    · 循环的要素:

        循环体(相同或相似的语句)

        循环条件(继续执行循环的条件,某些情况下循环条件以循环次数的方式体现)

1.2 while语句

1.2.1 while语句的执行逻辑

  1. 计算boolean表达式的值

  2. 如果值为true则执行语句块;语句块执行完后再次判断boolean表达式的值,如果为true则继续执行语句块;如此循环往复,直到boolean为false时退出while循环。

Java入门第25课——循环结构_第1张图片

1.2.2 while语句的流程图

Java入门第25课——循环结构_第2张图片

1.2.3 while语句用于处理循环逻辑

int age=1;
    while(age<=100){
        System.out.println("马上有钱");
        age++;
    }
    System.out.println("over");

1.2.4 使用break语句跳出循环

    · break用在循环体中用于退出循环

int x=0;
    while(x<10){
        if(x==5){
          break;
        }
        System.out.println(x);
        x++;
    }

    输出的结果是:0 1 2 3 4,当x==5时,退出循环

1.3 do-while语句

1.3.1 do-while语句的执行逻辑

  1. 先执行语句块

  2. 再计算boolean表达式的值,如果为true,再次执行语句块,如此循环往复,直到boolean表达式的值为false为止。

    do{
        语句块
    }while(boolean表达式);

    无论boolean表达式是否为true,都先执行一次语句块;

1.3.2 do-while语句的流程图

Java入门第25课——循环结构_第3张图片

1.3.3 do-while语句用于处理循环逻辑

int pwd;
    do{
       System.out.println("请输入密码");
       pwd=scanner.next();
    }while(123!=pwd);

 1.3.4 while和do-while语句的区别

    · while和do-while语句的区别:

        while循环先判断再执行;

        do-while循环先执行一次,再判断;

    · 当初始情况不满足循环条件时,while循环一次都不会执行;do-while循环不管任何情况都至少执行一次。

    while和do-while语句的不同仅仅会体现在第一次就不满足条件的循环中;如果不是这样的情况,while和do-while可以互换

while和do-while语句的区别(续1)

int pwd;
    do{
      System.out.print("密码");
      pwd=scanner.nextInt();
    }while(123!=pwd);  
    
    int pwd=0;
    while(123!=pwd){
      System.out.print("密码:");
      pwd=scanner.nextInt();
    
    }

1.4 for语句

1.4.1 考虑如下循环问题的相同之处

    · 计算从1加到100的值;

    · 计算1+1/3+1/5+...+1/999;

    · 找出从第1号学员到第500号学员中成绩大于90的学员。

    · ...

    · i=1,2,...,100,每次循环累加i的值。

    · i=1,3,5,...,999,每次循环计算1/i,并累加

    · i=1,2,...,500,每次循环判断第i号学员成绩是否大于90。

 

这样的变量i称之为循环变量;

在每次循环中,它规律的发生变化。同时,它也作为判断是否继续循环的条件。

1.4.2 for语句的执行逻辑

    for(表达式1;表达式2;表达式3){

      语句块(循环体)

    }

    1.计算表达式1的值;

    2.计算表达式2(表达式2为逻辑表达式)的值,如果为true则执行循环体,否则为true则执行循环体,否则退出循环。

    3.执行循环体;

    4.执行表达式3;

    5.计算表达式2,如果为true则执行循环体,否则退出循环体;

    6.如此循环往复,直到表达式2的值为false。

1.4.3 for语句的流程图

Java入门第25课——循环结构_第4张图片

1.4.4 for语句用于固定次数循环

    · 累加

        求1+2+3+...+100=?

int sum=0;
    for(int i=1;i<=100;i++){
        sum+=i;
    }
    System.out.println("1到100的和为:"+sum);

    · 阶乘

        求1*2*3*...*10=?

1.4.5 for语句三个表达式特殊用法

    · 表达式1位置内容为空时:

int sum=0;
    int i=1;
    for(;i<=10;i++){
        sum+=i;
    }
    System.out.println("1到10的和为:"+sum);

for语句三个表达式特殊用法(续1)

    · 表达式3位置内容为空时:

int sum=0;
    for(int i=1;i<=10){
        sum+=i;
        i++;
    }
    System.out.println("1到10的和为:"+sum);

for语句三个表达式特殊用法(续2)

    · 表达式1,2,3位置内容均为空时:

for(;;){
        System.out.println("我要学习");
    }

    死循环

for语句三个表达式特殊用法(续3)

    · 表达式1和3位置内容的多样化:

for(int i=1,j=6;i<=6;i+=2,j-=2){
        System.out.println("i,j="+i+","+j);
    }

    输出的结果是:

        i,j=1,6

        i,j=3,4

        i,j=5,2

 

    for语句中的三个表达式中表达式1和表达式3可以使用逗号表达式,逗号表达式就是通过","运算符隔开的多个表达式组成的表达式,从左向右计算。

1.4.6 循环中使用break语句

    · break可用于循环语句或switch语句中;

    · break用于循环,可使程序终止循环而执行循环后面的语句,常常与条件语句一起使用    

int sum=0;
    for(int i=1;i<=100;i++){
        if(sum>=4000){
          break;
        }
        sum+=i;
    }

    当总和大于等于4000时终止循环

1.4.7 循环中使用continue语句

    · continue只能用于循环中

    · 其作用为跳过循环体中剩余语句而执行下一次循环

for(int i=1;i<=100;i++){
        if(i%10==3){
            continue;
        }
        sum+=i;
    }

    统计总和时,跳过所有个位为3的

2.1 循环问题

2.1.1 循环问题

    · 需要多次重复执行一个或多个任务的问题考虑使用循环来解决;

    · 一般情况下,for循环使用最多,对于for循环结构,一定要分析出需解决业务的3个部分

        循环变量初始状态 

        循环条件                                            

        - 循环变量的改变

Java入门第25课——循环结构_第5张图片

2.1.2 循环问题定义——"当"循环

    · 循环语句的选择

        如果业务可以转换为"当..."这样的句式时,优先选择while语句来实现

    · 实例:

        年存款利率为3%,本金为10000,存款总额超过12000时收益具体是多少?

    · 分析

        模板:"当"存款总额小于12000时,以3%利率增长

        条件:total<12000

        写出代码:while(条件){total+=(total*0.03);}

2.1.3 循环问题定义——"直到"循环

   · 循环语句的选择

        如果业务可以转换为"直到..."这样的句式时,优先选择do-while语句来实现

    · 实例:

        验证身份时必须提供密码并核对

    · 分析

        - 模板:获取密码,"直到"输入的值为123456

        条件:inputPwd!=123456

        写出代码:do{......}while(条件);

2.1.4 循环问题定义——固定次数循环

    · 循环语句的选择

        如果业务中可以获取到一个确切的循环次数考虑for循环

    · 例如:

        求1-100的和

        累加十次输入的数字的和

        - 录入三名学员的信息

        - 存储5门课程的成绩

        ...

博主点评:

    循环结构非常重要,必须掌握!因为到处都离不开循环。

    当然循环结构知识也非常简单,只需要练习几遍即可掌握。

扫码关注我吧:

你可能感兴趣的:(Java,Java零基础课程,Java循环结构)