美文网首页从零开始学 Java程序员
10. 程序流控制-循环结构 【连载 10】

10. 程序流控制-循环结构 【连载 10】

作者: 密叔 | 来源:发表于2017-12-22 09:13 被阅读20次
    从零开始学Java封面10.jpg

    之前的文章中给大家介绍了选择结构来控制程序流转,这篇文章内容着重介绍一下另外一种程序流控制,循环结构。

    有的时候我们需要在程序中重复的去做某一件事情,比如重复对某个变量进行相同的操作。这个时候我们就可以采用循环结构来帮我们处理。

    在 Java 中常用的循环结构主要三种:

    1. for 循环
    2. while 循环
    3. do while 循环

    1. for 循环

    for 循环是经常用到的一种循环结构,它的结构是这样的

    for (循环变量初始值; 判断循环是否结束的表达式; 更新循环控制变量) {
     循环内容
    }
    

    for 循环处理一个数学计算题:

    从 1 加到 100 的值是多少?

    int num = 0;
    for (int i = 0; i <= 100; i++) {
      num += i;
    }
    System.out.println("num = " + num);
    
    1. 执行初始化步骤, int i = 0;
    2. 判断循环是否结束,i < = 100 如果为true,循环体 num += 1被执行。如果为false,循环终止
    3. 执行一次循环后,更新循环控制变量 i++
    4. 再次判断循环是否结束,循环执行上面的过程

    注意不要死循环

    for (;;;) {
      System.out.println("这是一个死循环,会一直执行下去");
    }
    

    for循环来遍历输出数组的值

    输出颜色数组 {"red", "yellow", "blue", "green","orange"}的每个颜色

    String[] colors = {"red", "yellow", "blue", "green","orange"};
    for (int i = 0; i < colors.length; i++) {
      System.out.println(colors[i]);
    }
    

    增强的 for 循环:

    String[] colors = {"red", "yellow", "blue", "green","orange"};
    for (String color : colors) {
      System.out.println(color);
    }
    

    2. while 循环

    for 循环我们可以很轻易的次数,循环次数达到会结束循环。while 循环则会一种不断地运行,直到指定的条件不满足位置。

    while 循环的结构:

    while (布尔判断表达式) {
     循环内容 
    }
    

    while 循环处理数学问题:

    从 1 加到 100 的值是多少?

    int i = 1;
    int sum = 0;
    while (i <= 100) {
      sum += i;
      i++;
    }
    System.out.println("sum = " + sum);
    

    while 循环将布尔判断表达式:i <= 100的值控制循环是否结束,i <= 100false 终止循环。

    死循环是这样子的:

    while (true) {
      System.out.println("这是死循环,会一直执行");
    }
    

    扩展 while 循环应用

    需求:持续从键盘获取输入内容,并打印出来

    import java.util.Scanner;
    public class WhileDemo {
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            while (true) {
                String cmd = scanner.next();
                System.out.println(cmd);
                if ("exit".equals(cmd)) {
                    break;
                }
            }
            scanner.close();
        }
    }
    

    break 可以跳出整个循环

    3. do while 循环

    对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。 do while循环和while循环相似,不同的是,do while循环至少会执行一次。

    do while 循环的结构:

    do {
      循环的内容
    } while (布尔表达式)
    

    再来解决一下这个数据问题:从 1 加到 100 的值是多少?

    int i = 0;
    int sum = 0;
    do {
      sum += i;
      i++;
    } while (i <= 100);
    System.out.println("sum = " + sum);
    

    4. break 的作用

    我们已经知道break 可以跳出 switch 结构,在循环结构中,它可以跳出整个循环。

    持续从键盘获取输入内容,并打印出来的实例中已经知道 break 可以跳出 while循环,对于 for 循环,它也有同样的作用。

    String[] colors = {"red", "yellow", "blue", "green","orange"};
    for (String color : colors) {
      System.out.println(color);
      if ("blue".equals(color)) {
        break;
      }
    }
    

    5. continue 的作用

    continue 用于循环结构中,可以让程序立刻跳到下一次循环。

    输出 1 到 100 之内的奇数:

    for (int i = 0; i <= 100; i++) {
      if (i % 2 == 0) {
        continue;
      }
      System.out.println(i);
    }
    

    6. return 的作用

    • return后面跟一个值或者变量,指定一个方法的返回值
    • 单独的return;语句,后面不跟任何值或者变量,表示退出当前方法

    sum 函数返回计算结果给调用该方法者

    public static void main(String[] args) {
      int n = sum(100, 200);
      System.out.println(n);
    }
    
    public static int  sum(int n1, int n2) {
      int sum = n1 + n2;
      return sum;
    }
    

    输出 0 到 49 的每个值:

    for (int i = 0; i <= 100; i++) {
      if (i == 50) {
        return;
      }
      System.out.println(i);
    }
    

    相关文章

      网友评论

        本文标题: 10. 程序流控制-循环结构 【连载 10】

        本文链接:https://www.haomeiwen.com/subject/wlctgxtx.html