1. 生活中的循环
很多时候,我们的生活需要我们多次执行相同的操作。例如,假设我需要扫描包含许多页面的文档。我们一遍又一遍地重复相同的过程:
- 将第一页放在扫描仪上
- 按扫描按钮
- 将下一页放在扫描仪上
这很难手动完成。如果这个过程可以以某种方式自动化,那就太好了。
或者考虑另一个示例:假设我想将收件箱中的所有未读电子邮件标记为垃圾邮件。曾几何时,我必须一次选择每封电子邮件并将其标记为垃圾邮件。
但是程序员很懒惰,所以他们很久以前就自动化了这个过程:现在您只需选择任何字母列表并单击“标记为垃圾邮件”,然后您的电子邮件客户端就会遍历该列表并将每封电子邮件移至垃圾邮件文件夹。
我们能在这里说什么?当计算机或程序可以一次单击执行数百或数千个单调操作时,这将非常方便。现在您也将学习如何执行此操作。
2.while
循环
if-else 语句极大地扩展了我们的编程能力,使得编写在不同情况下执行不同操作的程序成为可能。但是还有一件事会让我们的程序更强大一个数量级——循环。
Java 有 4 种循环:while
、for
和for-each
。do-while
我们现在将深入研究其中的第一个。
循环while
非常简单。它仅由两部分组成:条件和循环体。只要条件是,循环体就会一遍又一遍地执行true
。一般来说,while
循环看起来像这样:
while (condition)
statement;
while (condition)
{
block of statements
}
这很简单。只要循环条件等于,语句或语句块就会一遍又一遍地执行。true
它是这样工作的:首先,检查条件。如果为真,则执行循环体(语句或语句块)。然后再次检查条件并再次执行循环体。依此类推,直到条件变为假。
如果条件始终为 真,那么程序将永远不会停止运行。它将永久卡在循环中。
如果第一次检查时条件为假 ,那么循环体甚至不会执行一次。
3.循环的例子
这里有一些循环的实际例子。
代码 | 解释 |
---|---|
|
屏幕上将显示 5 行:
|
代码 | 解释 |
---|---|
|
屏幕上会显示10行:
|
代码 | 解释 |
---|---|
|
只要输入数字,程序就会从键盘读取数字。 |
代码 | 解释 |
---|---|
|
该程序将无休止地C 在屏幕上打印这封信。 |
代码 | 解释 |
---|---|
|
该程序将从键盘读取行
直到 |
在前面的示例中,该equals()
方法用于比较字符串。如果字符串相等,函数将返回true
。如果字符串不相等,则返回false
.
4.循环内循环
在了解条件语句时,您看到了可以使用它们通过组合多个条件语句来实现复杂的逻辑。换句话说,通过在语句if
中使用语句if
。
你可以用循环做同样的事情。要在循环中编写循环,您需要在第一个循环的主体内编写第二个循环。它看起来像这样:
while (condition for outer loop)
{
while (condition for inner loop)
{
block of statements
}
}
让我们来看看三个任务。
任务 1。假设我们要编写一个程序,Mom
在屏幕上显示该单词 4 次。循环正是我们所需要的。我们的代码看起来像这样:
代码 | 解释 |
---|---|
|
屏幕上会显示 4 行:
|
任务 2。我们要编写一个程序,A
在一行中显示 5 个字母。为此,我们需要再次循环。这就是代码的样子:
代码 | 解释 |
---|---|
|
而不是println() ,我们将使用print() 。否则,每个字母A 将在单独的一行结束。屏幕输出将是:
|
任务 3。我们要显示一个由字母A
s 组成的矩形。该矩形应由 4 行 x 5 列组成。为此,我们现在需要一个嵌套循环。我们将简单地采用我们的第一个示例(我们输出 4 行的那个)并将用于输出一行的代码替换为第二个示例中的代码。
代码 | 解释 |
---|---|
|
外圈是紫色的。它使用n 变量来计算循环的迭代次数。内环是绿色的。它使用 m 变量来计算循环迭代次数。在内循环完成后,我们必须明确地将光标移动到下一行。否则,程序打印的所有字母将在一行中结束。 屏幕输出将是:
|
外循环和内循环必须使用不同的变量来统计循环迭代次数。我们还必须System.out.println()
在内循环之后添加命令,因为该循环A
在同一行显示字母 s。一旦显示一行上的字母,就必须将光标移动到新的一行。
5. 比较循环 Java 和 Pascal
你们中的许多人在高中时学习过 Pascal。为了让您更容易理解此处的材料,请看一下while
用 Pascal 和 Java 编写的循环的比较。如果您不了解 Pascal,请跳过这部分。
帕斯卡 | 爪哇 |
---|---|
|
|
|
|
|
|
|
|
|
|
GO TO FULL VERSION