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

来源:互联网 发布:hp网络打印机 编辑:程序博客网 时间:2024/06/14 05:07



![](http://on91wk3hn.bkt.clouddn.com/17-12-20/92342060.jpg)


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


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






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


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


## 1. for 循环


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


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


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


`从 1 加到 100 的值是多少?`


```java
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. 再次判断循环是否结束,循环执行上面的过程


**注意不要死循环**:


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






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


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


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






**增强的 `for` 循环:**


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










## 2. while 循环


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


`while` 循环的结构:


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


**`while` 循环处理数学问题:**


`从 1 加到 100 的值是多少?`


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


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


死循环是这样子的:


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






**扩展 `while` 循环应用**


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


```java
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 的值是多少?`


```java
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` 循环,它也有同样的作用。


```java
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 之内的奇数:


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






## 6. return 的作用


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


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


```java
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 的每个值:


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

```

扣扣交流群:468439140


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 19岁网贷欠了3万怎么办 大学生欠2w网贷怎么办 当兵去了网贷怎么办 考公安视力不过关怎么办 身份证号和姓名电话泄露了怎么办 黑色裙子被染色了怎么办 戴墨镜鼻子太塌怎么办 戴墨镜鼻子有印怎么办 戴眼镜鼻梁塌了怎么办 站的时间长了腿疼怎么办 小孩腿筋拉伤了怎么办 走多了小腿骨疼怎么办 走多了一个腿疼怎么办 走太多路腿酸痛怎么办 老年人脚肿并痛怎么办 孩子蛙跳肌后大腿痛怎么办 走路久了腿酸怎么办 走路多了膝盖痛怎么办 走路多了小腿痛怎么办 走多了腿疼怎么办 小腿走多了酸痛怎么办 腿肚受凉了酸痛怎么办 晚上腿疼的睡不着觉怎么办 走路走多了腿酸怎么办 跳完蛙跳大腿疼怎么办 走路走多了脚疼怎么办 走太多路脚酸痛怎么办 走路走的腿酸痛怎么办 路走得太多腿疼怎么办 走路走的足弓疼怎么办 走路走多了膝盖怎么办 2岁宝宝走路一只脚内八字怎么办 6岁宝宝o型腿怎么办 一岁宝宝o型腿怎么办 宝宝一岁o型腿怎么办 宝宝一周两个月走路弓着腿怎么办 宝宝腿走路膝盖弯曲怎么办 两岁宝宝不爱走路怎么办 水鸭子脚不能走了怎么办 鸭子坐着脚走不动怎么办 鸭子步走了腿疼怎么办?