”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 控制流:掌握条件语句和循环

控制流:掌握条件语句和循环

发布于2024-08-26
浏览:297

Control Flow: Mastering Conditional Statements and Loops

本指南涵盖 if-else、for 循环、while 循环等。

在编程中,控制执行流程对于在代码中做出决策和重复操作至关重要。 Java 提供了强大的工具来管理控制流,包括条件语句循环。在这篇文章中,我们将深入探讨这些基本概念,探索它们的工作原理以及如何使用它们来创建动态和响应式程序。

1.条件语句

1.1 If-Else 语句

if-else 语句允许您根据条件是 true 还是 false 来执行代码块。这就像在程序中设置一个检查点,其中某些代码仅在满足特定条件时才运行。

句法:

if (condition) {
    // Code to execute if the condition is true
} else {
    // Code to execute if the condition is false
}

例子:

int marks = 75;

if (marks >= 60) {
    System.out.println("Passed with distinction!");
} else if (marks >= 40) {
    System.out.println("Passed!");
} else {
    System.out.println("Failed.");
}

在此示例中:

  • 如果分数为 60 分或更高,“以优异成绩通过!”被打印。
  • 如果分数在 40 到 59 之间,则“通过!”被打印。
  • 如果分数低于 40,则“失败”。被打印。

挑战1:

编写一个 Java 程序,使用 if-else 语句检查数字是正数、负数还是零。为每种情况打印适当的消息。

1.2 Switch语句

switch 语句是根据变量值执行代码的另一种方式。当您需要将单个变量与多个可能值进行比较时,它特别有用。

句法:

switch (variable) {
    case value1:
        // Code to execute if variable == value1
        break;
    case value2:
        // Code to execute if variable == value2
        break;
    // more cases...
    default:
        // Code to execute if none of the cases match
}

例子:

int dayOfWeek = 3;
String day;

switch (dayOfWeek) {
    case 1:
        day = "Sunday";
        break;
    case 2:
        day = "Monday";
        break;
    case 3:
        day = "Tuesday";
        break;
    // more cases...
    default:
        day = "Invalid day";
        break;
}

System.out.println("Today is: "   day);

2.循环

循环是编程中强大的工具,允许您多次重复一段代码。 Java 支持多种类型的循环,每种类型适合不同的场景。

2.1 For 循环

当您事先知道需要迭代多少次时,通常会使用 for 循环。它由三部分组成:初始化、条件、迭代。

句法:

for (initialization; condition; iteration) {
    // Code to execute in each loop iteration
}

例子:

for (int i = 1; i 



在此循环中:

  • 整数 i = 1;初始化循环计数器 i.
  • 每次迭代后 i 将 i 增加 1。

挑战2:

创建一个 for 循环,打印前 10 个偶数。

2.2 While 循环

只要指定条件为真,while 循环就会继续执行。当事先不知道迭代次数时,通常会使用它。

句法:

while (condition) {
    // Code to execute while the condition is true
}

例子:

int count = 0;

while (count 



在此示例中,循环打印 count 的值并将其递增,直到 count 不再小于 3。

2.3 Do-While 循环

do-while 循环与 while 循环类似,但它保证循环体至少执行一次,即使条件从一开始就是 false。

句法:

do {
    // Code to execute at least once
} while (condition);

例子:

int count = 0;

do {
    System.out.println("Count: "   count);
    count  ;
} while (count 



在这种情况下,循环打印 count 的值并递增它,就像 while 循环一样,但它确保代码至少运行一次,即使 count 从 3 或更高开始。

2.4 Break 和Continue 语句

  • break: 立即退出循环,跳过任何剩余的迭代。
  • 继续: 跳过当前迭代并跳转到下一个迭代。

使用中断的示例:

for (int i = 1; i 



使用继续的示例:

for (int i = 1; i 



挑战3:

编写一个循环,打印从 1 到 10 的数字,但跳过数字 5。

概括

在本节中,我们介绍了使用条件语句和循环控制 Java 程序流程的要点。我们探索了 if-else、switch、for、while 和 do-while 循环,以及 break 和 continue 语句。

通过掌握这些控制流工具,您可以创建更加动态和高效的Java程序。尝试挑战来巩固您所学到的知识!

在下一篇文章中,我们将探讨 Java 中的数组和集合,它们是有效管理数据组的关键。敬请关注!

版本声明 本文转载于:https://dev.to/be11amer/control-flow-mastering-conditional-statements-and-loops-188d?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何在Java中正确显示“ DD/MM/YYYY HH:MM:SS.SS”格式的当前日期和时间?
    如何在Java中正确显示“ DD/MM/YYYY HH:MM:SS.SS”格式的当前日期和时间?
    如何在“ dd/mm/yyyy hh:mm:mm:ss.ss”格式“ gormat 解决方案: args)抛出异常{ 日历cal = calendar.getInstance(); SimpleDateFormat SDF =新的SimpleDateFormat(“...
    编程 发布于2025-07-12
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中可能会遇到一个冲突,其中3派对软件包将另一个带有导入套件的path package the Imptioned package the Imptioned package the Imported tocted pac...
    编程 发布于2025-07-12
  • 为什么我在Silverlight Linq查询中获得“无法找到查询模式的实现”错误?
    为什么我在Silverlight Linq查询中获得“无法找到查询模式的实现”错误?
    查询模式实现缺失:解决“无法找到”错误在银光应用程序中,尝试使用LINQ建立错误的数据库连接的尝试,无法找到以查询模式的实现。”当省略LINQ名称空间或查询类型缺少IEnumerable 实现时,通常会发生此错误。 解决问题来验证该类型的质量是至关重要的。在此特定实例中,tblpersoon可能需...
    编程 发布于2025-07-12
  • 如何在GO编译器中自定义编译优化?
    如何在GO编译器中自定义编译优化?
    在GO编译器中自定义编译优化 GO中的默认编译过程遵循特定的优化策略。 However, users may need to adjust these optimizations for specific requirements.Optimization Control in Go Compi...
    编程 发布于2025-07-12
  • 如何在Chrome中居中选择框文本?
    如何在Chrome中居中选择框文本?
    选择框的文本对齐:局部chrome-inly-ly-ly-lyly solument 您可能希望将文本中心集中在选择框中,以获取优化的原因或提高可访问性。但是,在CSS中的选择元素中手动添加一个文本 - 对属性可能无法正常工作。初始尝试 state)</option> < op...
    编程 发布于2025-07-12
  • 大批
    大批
    [2 数组是对象,因此它们在JS中也具有方法。 切片(开始):在新数组中提取部分数组,而无需突变原始数组。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    编程 发布于2025-07-12
  • \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    答案: 在大多数现代编译器中,while(1)和(1)和(;;)之间没有性能差异。编译器: perl: 1 输入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    编程 发布于2025-07-12
  • 如何从PHP中的数组中提取随机元素?
    如何从PHP中的数组中提取随机元素?
    从阵列中的随机选择,可以轻松从数组中获取随机项目。考虑以下数组:; 从此数组中检索一个随机项目,利用array_rand( array_rand()函数从数组返回一个随机键。通过将$项目数组索引使用此键,我们可以从数组中访问一个随机元素。这种方法为选择随机项目提供了一种直接且可靠的方法。
    编程 发布于2025-07-12
  • Go web应用何时关闭数据库连接?
    Go web应用何时关闭数据库连接?
    在GO Web Applications中管理数据库连接很少,考虑以下简化的web应用程序代码:出现的问题:何时应在DB连接上调用Close()方法?,该特定方案将自动关闭程序时,该程序将在EXITS EXITS EXITS出现时自动关闭。但是,其他考虑因素可能保证手动处理。选项1:隐式关闭终止数...
    编程 发布于2025-07-12
  • 为什么我会收到MySQL错误#1089:错误的前缀密钥?
    为什么我会收到MySQL错误#1089:错误的前缀密钥?
    mySQL错误#1089:错误的前缀键错误descript [#1089-不正确的前缀键在尝试在表中创建一个prefix键时会出现。前缀键旨在索引字符串列的特定前缀长度长度,可以更快地搜索这些前缀。了解prefix keys `这将在整个Movie_ID列上创建标准主键。主密钥对于唯一识别...
    编程 发布于2025-07-12
  • Java为何无法创建泛型数组?
    Java为何无法创建泛型数组?
    通用阵列创建错误 arrayList [2]; JAVA报告了“通用数组创建”错误。为什么不允许这样做?答案:Create an Auxiliary Class:public static ArrayList<myObject>[] a = new ArrayList<myO...
    编程 发布于2025-07-12
  • 如何在鼠标单击时编程选择DIV中的所有文本?
    如何在鼠标单击时编程选择DIV中的所有文本?
    在鼠标上选择div文本单击带有文本内容,用户如何使用单个鼠标单击单击div中的整个文本?这允许用户轻松拖放所选的文本或直接复制它。 在单个鼠标上单击的div元素中选择文本,您可以使用以下Javascript函数: function selecttext(canduterid){ if(do...
    编程 发布于2025-07-12
  • PHP与C++函数重载处理的区别
    PHP与C++函数重载处理的区别
    作为经验丰富的C开发人员脱离谜题,您可能会遇到功能超载的概念。这个概念虽然在C中普遍,但在PHP中构成了独特的挑战。让我们深入研究PHP功能过载的复杂性,并探索其提供的可能性。在PHP中理解php的方法在PHP中,函数超载的概念(如C等语言)不存在。函数签名仅由其名称定义,而与他们的参数列表无关。...
    编程 发布于2025-07-12
  • 如何避免Go语言切片时的内存泄漏?
    如何避免Go语言切片时的内存泄漏?
    ,a [j:] ...虽然通常有效,但如果使用指针,可能会导致内存泄漏。这是因为原始的备份阵列保持完整,这意味着新切片外部指针引用的任何对象仍然可能占据内存。 copy(a [i:] 对于k,n:= len(a)-j i,len(a); k
    编程 发布于2025-07-12
  • 如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    postgresql:为每个唯一标识符提取最后一行,在Postgresql中,您可能需要遇到与在数据库中的每个不同标识相关的信息中提取信息的情况。考虑以下数据:[ 1 2014-02-01 kjkj 在数据集中的每个唯一ID中检索最后一行的信息,您可以在操作员上使用Postgres的有效效率: ...
    编程 发布于2025-07-12

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3