之前的文章中给大家介绍了选择结构来控制程序流转,这篇文章内容着重介绍一下另外一种程序流控制, 循环结构 。
有的时候我们需要在程序中重复的去做某一件事情,比如重复对某个变量进行相同的操作。这个时候我们就可以采用循环结构来帮我们处理。
在 Java 中常用的循环结构主要三种:
- for 循环
- while 循环
- 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);
- 执行初始化步骤, int i = 0;
- 判断循环是否结束,i < = 100 如果为true,循环体 num += 1被执行。如果为 false ,循环终止
- 执行一次循环后,更新循环控制变量 i++
- 再次判断循环是否结束,循环执行上面的过程
注意不要死循环 :
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 <= 100 为 false 终止循环。
死循环是这样子的:
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(); } }
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); }
我是一名从事多年开发的Java程序员,目前辞职在做自己的线上家教私人订制指导学习,我在这里给你准备的一套最新的Java精讲教程视频,从最基础的JavaSE到Spring框架部分的教程都有,如果你现在正在学Java,需要这样的一套教程教程,你可以在后台私信我:Java,即可获取视频下载地址。