Java 循环结构 for循环、while循环、do...while循环、break关键字结束循环和continue关键字结束本次循环

目录

  • while 循环
  • do…while 循环
  • for 循环
  • 增强 for 循环
  • break 关键字
  • continue 关键字

while 循环

if 条件语句有点类似。当 () 内的结果为 true 时则重复复执行执行 {} 内的语句,直到 () 内的结果为 false 结束,或者使用 break 语句结束循环,如果一直为 true 则将进入死循环。

语法

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

例子
利用 while 循环输出3次 这是一个循环

int i = 0;
while (i < 3) {
	System.out.println("这是一个循环");
	i++;
}

使用 break 语句结束循环
利用 while 输出一次 这是一个循环

while (true) {
	System.out.println("这是一个循环");
	break;
}

注:应设计好结束循环的逻辑,避免进入死循环

do…while 循环

while 循环有点类似,不同的是他会先执行一次 {} 内的语句,然后再根据 () 内的结果来判断是否继续循环。 如果为 true 则继续循环,否则结束循环。也可使用 break 语句来结束循环。

语法

do {
	//代码语句
} while (布尔表达式);

例子
利用 do…while 循环输出3次 这是一个循环

int i = 0;
do {
	System.out.println("这是一个循环");
	i++;
} while (i < 3);

for 循环

while 循环有点类似,只要布尔表达式的结果为 true 便会循环 {} 的代码块,直至为 false 或使用 break 结束

语法

for (初始化; 布尔表达式; 更新) {
	//代码语句
}

例子
利用 for 循环输出3次 这是一个循环

for (int i = 0; i < 3; i++) {
	System.out.println("这是一个循环");
}

在使用 for 循环时,要注意的点也有很多

  • 初始化部分、布尔表达式部分和更新部分都可以是空语句,布尔表达式部分为空语句会让 for 进入死循环

例子

for (;;) {
	System.out.println("这是一个循环");
}

结果

这是一个循环
这是一个循环
这是一个循环
...
  • 初始化部分通常是编写一些初始化变量的语句,而更新部分则通常是编写一些循环后更新变量的语句,但都只支持编写一条语句或空语句

例子

int i = 0;
for (System.out.println("这是初始化部分"); i < 3; System.out.println("这是更新部分")) {
	System.out.println("这是一个循环");
	i++;
}

结果

这是初始化部分
这是一个循环
这是更新部分
这是一个循环
这是更新部分
这是一个循环
这是更新部分

因为只能写一条一些特殊的语句,因而可以使用函数等其它方式扩展来编写多条语句

例子

public static int i;

public static void main(String args[]) {
	for (init(); i < 3; update()) {
		System.out.println("这是一个循环");
	}
}

public static void init() {
	i = 0;
	System.out.println("这是初始化函数");
}


public static void update() {
	i++;
	System.out.println("这是更新函数");
}

结果

这是初始化部分
这是一个循环
这是更新部分
这是一个循环
这是更新部分
这是一个循环
这是更新部分

当然这些做法意义都不是很大,只是想让你知道各个部分的作用和使用

  • 执行循序:初始化部分 ->布尔表达式部分 -> 循环代码块部分 -> 更新部分 ->布尔表达式部分 -> 循环代码块部分 -> 更新部分…
    初始化部分只会被执行一次,接着不断循环布尔表达式部分 -> 循环代码块部分 -> 更新部分 ->布尔表达式部分…。布尔表达式部分不满足则不会执行接下来的部分, break 语句会直接结束循环而不会执行接下来的部分。

例子:执行2遍 for 循环

public static int i;

public static void main(String args[]) {
	for (init(); bl(); update()) {
		code();
	}
}

public static void init() {
	i = 0;
	System.out.println("这是初始化部分");
}

public static boolean bl() {
	System.out.println("这是布尔表达式部分");
	return i < 2;
}

public static void code() {
	System.out.println("这是循环代码块部分");
}

public static void update() {
	i++;
	System.out.println("这是更新部分");
}

结果

这是初始化部分
这是布尔表达式部分
这是循环代码块部分
这是更新部分
这是布尔表达式部分
这是循环代码块部分
这是更新部分
这是布尔表达式部分

增强 for 循环

这个是很多人推荐的一种循环方式,和上面的那个 for 差不多。用起来比较方便,阅读性好。仅支持数组、集合、set等一些类型。可用 break 语句来结束循环。

语法

for (声明语句 : 表达式) {
	//代码句子
}

声明语句:即是声明元素类型
表达式:可以是一个可循环的值,也可是一个返回可循环值的方法

例子
利用 for 循环遍历 arrays 数组

int[] arrays = {10, 20, 30, 40, 50};
for (int i : arrays) {
	System.out.println(i);
}

结果

10
20
30
40
50

break 关键字

break主要用在 循环语句 或者 switch 语句中,用来跳出整个语句块。

语法

for (;;) {
	//可在该代码块内编写
	break;
}

例子
利用 for 循环遍历 arrays 数组, 如果等于 30 结束循环

int[] arrays = {10, 20, 30, 40, 50};
for (int i : arrays) {
	if (i == 30) {
		break;
	}
	System.out.println(i);
}

结果

10
20

continue 关键字

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
for 循环中,continue 语句使程序立即跳转到更新语句。
while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。

语法

for (;;) {
	//可在该代码块内编写
	continue;
}

例子
利用 for 循环遍历 arrays 数组, 如果等于 30 则不打印

int[] arrays = {10, 20, 30, 40, 50};
for (int i : arrays) {
	if (i == 30) {
		continue;
	}
	System.out.println(i);
}

结果

10
20
40
50

注:该文章主要参照菜鸟教程: Java 循环结构

你可能感兴趣的:(java)