什么是周期
用Java编写的程序由特定的代码组成。通常它是按顺序执行的:逐行、从上到下。但也有一些代码结构会改变程序的线性执行。它们被称为控制结构。 多亏了它们,代码可以有选择地执行。例如,运行一段代码而不是另一段。 循环是一种控制结构,用于组织同一代码段的重复执行。这种控制结构内部的代码是循环执行的。代码的每次执行都是循环的一次迭代。迭代次数由循环条件控制。在循环内运行的代码称为循环体。已知以下类型的循环:-
前置条件循环:执行条件在第一次迭代之前确定。
-
带后置条件的循环:执行条件在第一次迭代后确定(因此它们总是至少执行一次)。当您需要执行特定操作直到实现特定条件时很有用:例如,读取用户的输入直到他输入单词“停止”。
-
计数器循环:迭代次数由模拟计数器确定。循环条件指定其初始值和最终值。每次迭代计数器都会增加。我们可以提前确定迭代次数。
当您需要迭代集合中的所有元素时,这些循环非常有用。带有计数器的循环称为“loops for...”。“对于某个集合的每个元素,执行以下操作。”
在某些情况下,循环的执行可以在达到其条件之前被中断。例如,如果我们有 100 个数字的集合,我们需要了解它是否包含负数。我们可以使用 for 循环开始循环所有数字。但是当我们找到第一个负数时,我们就不必遍历剩下的数了。如果循环的进一步执行没有意义,我们可以中断循环的执行。这种情况称为循环中断。
-
无条件循环是无限运行的循环。例如:“当 1=1 时,打印“1=1””。这样的程序将一直运行到被手动中断为止。
当与从内部中断循环结合使用时,这些循环也很有用。小心使用它们,以免导致程序冻结。
您可以在 JavaRush 课程的第 4 级了解有关 Java 编程语言中的循环的更多信息。特别是 while 和 for 循环。
Java 中的循环
现在让我们看看Java 中的循环。这种语言中有几种类型:while
— 有前提条件的循环;do..while
— 带有后置条件的循环;for
— 带计数器的循环(循环 for);for each..
— “for every…” 循环 — 一种用于迭代元素集合的 for 类型。
while
,do.. while
并且for
可以用作无条件循环。您可以在JavaRush课程的第四级培训中比较不同编程语言中循环的语法。例如,for 和 while 循环。让我们简要考虑一下所提出的每种类型。
while 循环
Java 中的循环如下所示:while (expression) {
statement(s)
}
这里:
expression
boolean
— 循环条件,应该返回值的表达式。statement(s)
— 循环体(一行或多行代码)。
expression
。如果表达式的结果为true,则执行循环体statement(s)
。例子:
public class WhileExample {
public static void main(String[] args) {
int countDown = 10;
while (countDown >= 0) {
System.out.println("До старта: " + countDown);
countDown --;
}
System.out.println("Поехали !");
}
}
结论:
До старта: 10
До старта: 9
До старта: 8
До старта: 7
До старта: 6
До старта: 5
До старта: 4
До старта: 3
До старта: 2
До старта: 1
До старта: 0
Поехали !
使用while
,您可以创建无限循环:
while (true) {
// тело цикла
}
要中断循环的执行,可以使用运算符break
。例如:
public class WhileExample {
public static void main(String[] args) {
int count = 1;
while (true) {
System.out.println("Строка №" + count);
if (count > 3) {
break;
}
count++; // Без наращивания цикл будет выполняться вечно
}
}
}
结论:
Строка №1
Строка №2
Строка №3
Строка №4
您可以在 JavaRush 课程的第 4 级练习编写自己的循环。
do..while 循环
结构do.. while
如下:
do {
statement(s)
} while (expression);
这里:
expression
boolean
— 循环条件,应该返回值的表达式。statement(s)
— 循环体(一行或多行代码)。
while
,表达式的值将在每次迭代后计算。如果表达式的结果为true,则循环体将再次执行statement(s)
(至少一次)。例子:
public class DoWhileExample {
public static void main(String[] args) {
int count = 1;
do {
System.out.println("count = " + count);
count ++;
} while (count < 11);
}
}
结论:
count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10
for循环
这个 Java 循环看起来像这样:for (initialization; termination; increment) {
statement(s)
}
这里:
initialization
— 初始化循环执行的表达式。仅在循环开始时执行一次。大多数情况下,该表达式会初始化循环计数器termination
—boolean
调节循环结束的表达式。如果表达式的结果为false,则循环for
将中断。increment
— 在每次循环迭代后执行的表达式。大多数情况下,此表达式涉及递增或递减计数器变量。statement(s)
— 循环体。
initialization
, termination
,increment
是可选的。如果我们忽略它们中的每一个,我们就会得到一个无限循环:
// бесконечный цикл
for ( ; ; ) {
// code тела цикла
}
循环示例for
:
public class ForExample {
public static void main(String[] args) {
for (int i = 1; i < 6; i++) {
System.out.println("Строка №" + i);
}
}
}
结论:
Строка №1
Строка №2
Строка №3
Строка №4
Строка №5
JavaRush 课程的第 4 级提供了有关 for 循环的研讨会。
循环每个
此 Java 循环是一种for
用于迭代集合和数组的循环。结构for each
如下:
for (Type var : vars) {
statement(s)
}
这里:
vars
- 变量、现有列表或数组Type var
Type
— 定义与集合具有相同类型 () 的新变量vars
。
public class ForExample {
public static void main(String[] args) {
String[] daysOfWeek =
{ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
for (String dayOfWeek : daysOfWeek) {
System.out.println(dayOfWeek);
}
}
}
JavaRush 课程的 Java 语法任务第四级学习了 Java 循环。尝试解决该主题的问题:)
GO TO FULL VERSION