mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-23 21:20:42 +08:00
Merge pull request #28533 from wxy/20230114.0-⭐️-A-4-minute-guide-to-Java-loops
RP:published/20230114.0 ⭐️ A 4-minute guide to Java loops.md
This commit is contained in:
commit
e3e6c587bd
@ -3,18 +3,22 @@
|
||||
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15495-1.html"
|
||||
|
||||
4 分钟的 Java 循环指南
|
||||
Java 循环语句的简要指南
|
||||
======
|
||||
|
||||
一个 while 循环执行一组任务,只要某些预定的条件为真。这被认为是一个控制结构,可以指导程序的流程。它是一种方法,你可以通过定义一个条件来告诉你的代码要做什么,它可以测试,并根据它发现的情况采取行动。Java 中的两种 while 循环是 while 和 do while。
|
||||
![][0]
|
||||
|
||||
> 无论你使用的是 `while` 循环、`do`/`while` 循环,还是无限循环,了解循环的工作原理对 Java 编程至关重要。
|
||||
|
||||
只要某些预定的条件为真,一个 `while` 循环就会执行一组任务。这被认为是一个控制结构,可以指导程序的流程。它是一种你可以通过定义一个条件来告诉你的代码要做什么的方法,它可以测试它,并根据它发现的情况采取行动。Java 中的两种 `while` 循环是 `while` 和 `do`/`while`。
|
||||
|
||||
### Java while 循环
|
||||
|
||||
while 循环的目的是对数据进行迭代,直到某个条件得到满足。要创建一个 while 循环,你需要提供一个可以测试的条件,然后是你想要运行的代码。Java 有几个内置的测试函数,其中最简单的是数学运算符(`<`, `>`, `==`, 等等):
|
||||
`while` 循环的目的是对数据进行迭代,直到某个条件得到满足。要创建一个 `while` 循环,你需要提供一个可以测试的条件,然后是你想要运行的代码。Java 有几个内置的测试函数,其中最简单的是数学运算符(`<`, `>`, `==`, 等等):
|
||||
|
||||
```
|
||||
package com.opensource.example;
|
||||
@ -31,7 +35,7 @@ public class Example {
|
||||
}
|
||||
```
|
||||
|
||||
在这个简单的例子中,条件是变量 `count` 小于5。因为 `count` 被实例化为 0,然后在 while 循环的代码中增加 1,所以程序总共迭代了 5 次:
|
||||
在这个简单的例子中,条件是变量 `count` 小于 5。因为 `count` 被实例化为 0,然后在 `while` 循环的代码中增加 1,所以程序总共迭代了 5 次:
|
||||
|
||||
```
|
||||
$ java ./while.java
|
||||
@ -40,7 +44,7 @@ $ java ./while.java
|
||||
|
||||
在它进行第六次迭代之前,条件不再是真的,所以循环结束。
|
||||
|
||||
while 循环的条件语句是至关重要的。弄错了可能意味着你的循环永远不会执行。例如,假设你把 `count == 5` 作为条件:
|
||||
`while` 循环的条件语句是至关重要的。弄错了可能意味着你的循环永远不会执行。例如,假设你把 `count == 5` 作为条件:
|
||||
|
||||
```
|
||||
while (count == 5) {
|
||||
@ -55,13 +59,13 @@ $ java ./while.java
|
||||
$
|
||||
```
|
||||
|
||||
循环被跳过了,因为 `count` 被设置为0,而且在第一次遇到 while 循环的时候,它还是 0。循环从未开始,`count` 也从未被递增。
|
||||
循环被跳过了,因为 `count` 被设置为 0,而且在第一次遇到 while 循环的时候,它还是 0。循环从未开始,`count` 也从未被递增。
|
||||
|
||||
与此相反的是,当一个条件开始为真,并且永远不会为假时,这将导致一个无限循环。
|
||||
|
||||
### Java do while 循环
|
||||
|
||||
与 while 循环相似,do while 循环在每次迭代结束时测试条件,而不是在开始时测试条件。有了这个循环, 循环中的代码至少运行一次, 因为没有进入的入口, 只有退出的出口:
|
||||
与 `while` 循环相似,`do`/`while` 循环在每次迭代结束时测试条件,而不是在开始时测试条件。有了这个循环,循环中的代码至少运行一次,因为没有进入的入口,只有退出的出口:
|
||||
|
||||
```
|
||||
package com.opensource.example;
|
||||
@ -78,7 +82,7 @@ public class Example {
|
||||
}
|
||||
```
|
||||
|
||||
在这个示例代码中,`count` 被设置为 9。循环重复的条件是 `count` 等于5,但是 9 不等于 5。不过,这个检查要到第一次迭代结束时才进行:
|
||||
在这个示例代码中,`count` 被设置为 9。循环重复的条件是 `count` 等于 5,但是 9 不等于 5。不过,这个检查要到第一次迭代结束时才进行:
|
||||
|
||||
```
|
||||
$ java ./do.java
|
||||
@ -87,7 +91,7 @@ $ java ./do.java
|
||||
|
||||
### Java 无限循环
|
||||
|
||||
无限循环,正如它的名字所示,永远不会结束。有时它们是被错误地创建的,但无限循环确实有一个有效的场景。有时你想让一个进程无限地继续下去(这在功能上是无限的,因为你不能保证你需要它什么时候停止),因此你可能会把你的条件设置为不可能满足的东西。
|
||||
无限循环,正如它的名字所示,永远不会结束。有时它们是被错误地创建的,但无限循环确实有一个有效的场景。有时你想让一个进程无限地继续下去(在功能上是无限的,因为你不能保证你需要它什么时候停止),因此你可能会把你的条件设置为不可能满足的东西。
|
||||
|
||||
假设你写了一个应用程序,在僵尸天启期间计算留在你附近的僵尸的数量。为了模拟需要多少个循环才能达到 0 个僵尸的不确定性,我的演示代码从操作系统中检索了一个时间戳,并将计数器(`c`)的值设置为从该时间戳得出的某个数字。因为这是一个简单的例子,你不会真的想陷入一个无限循环,这段代码倒数到 0,并使用 `break` 函数来强制结束循环:
|
||||
|
||||
@ -132,7 +136,7 @@ $ java ./zcount.java
|
||||
|
||||
### Java 循环
|
||||
|
||||
循环使你能够控制程序的执行流程。迭代在编程中很常见,无论你使用 while 循环、do while 循环还是无限循环,了解循环的工作原理都是至关重要的。
|
||||
循环使你能够控制程序的执行流程。迭代在编程中很常见,无论你使用 `while` 循环、`do`/`while` 循环还是无限循环,了解循环的工作原理都是至关重要的。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -141,10 +145,11 @@ via: https://opensource.com/article/23/1/java-loops
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/seth
|
||||
[b]: https://github.com/lkxed
|
||||
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202301/31/093057lesc38vufbuzustm.jpg
|
Loading…
Reference in New Issue
Block a user