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




![](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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

密叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值