探索Java中的While和DoWhile:通过实际例子掌握循环结构
本文将深入探讨 Java 的两个最基本的编程结构:While 循环和 DoWhile 循环。了解何时以及如何使用它们对于编写高效的代码、解决动态问题和智能地处理数据至关重要。让我们通过实际示例探索它们的应用。
在本系列的前面部分,我们学习了如何在 Java 中使用 For 循环。今天,我们将重点介绍 While 和 DoWhile 循环。在日常编程任务中,您应该如何在这些选项之间进行选择?这里有一个提示:“当您知道所需的迭代次数时,请使用 For 循环。当迭代次数未知时,请使用 While。”
让我们开始编写一些代码吧!
While 循环
以下示例演示了 While 循环如何迭代直至满足条件。当无法预先确定确切的迭代次数时,这尤其有用。
public class WhileExample { public static void main(String[] args) { int totalSubscribers = 100; // Example data int availableCoupons = 50; int currentSubscriber = 1; while (currentSubscriber <= availableCoupons) { // Print message that the subscriber won a coupon printMessage("Subscriber number " + currentSubscriber + " won a coupon!"); // Increment the number of processed subscribers currentSubscriber++; } } static void printMessage(String message) { System.out.println(message); } }
在上面的代码中,我们模拟了一项促销活动,其中只有前 50 名订阅者才能获得产品的折扣券。只要 currentSubscriber 小于或等于优惠券数量,就会在终端中打印一条消息,并且 currentSubscriber 会加 1。此过程持续进行,直到不再满足条件。
DoWhile 循环
DoWhile 循环的逻辑与 While 类似,但有一个显著的区别:验证是在循环结束时执行的。换句话说,先执行代码块,然后检查条件。以下是一个例子:
public class WhileExample { public static void main(String[] args) { int totalSubscribers = 100; // Example data int availableCoupons = 50; int currentSubscriber = 1; while (currentSubscriber <= availableCoupons) { // Print message that the subscriber won a coupon printMessage("Subscriber number " + currentSubscriber + " won a coupon!"); // Increment the number of processed subscribers currentSubscriber++; } } static void printMessage(String message) { System.out.println(message); } }
在此示例中,学校尝试联系所选的候选人参加课程,最多联系三次。 `answered = new Random().ints(0, 2).findFirst().getAsInt()`; 行使用 `Random` 类生成一个随机数。该数字介于 0(含)和 2(不含)之间,可有效模拟候选人是否接听电话(1)或未接听电话(0)。该过程重复进行,直到候选人接听电话或达到最大尝试次数。
While 和 DoWhile 循环对于验证用户输入、批量数据处理或需要迭代直至满足特定条件的算法等场景都是必不可少的。示例包括上述学校场景或用于验证用户输入的循环。
我们希望本文能阐明 While 和 DoWhile 循环之间的区别。如何在代码中使用这些结构?在评论中分享您的经验或问题!如果您喜欢此内容,请关注我以获取本系列的更多文章和其他 Java 主题。下周见——新年之前——还有更多 Java 概念!