1.介绍

从本质上讲,程序是一系列指令。控制结构是可以改变我们如何执行这些指令的代码块。
在本教程中,我们将探讨Java中的控制结构。
有三种控制结构:

  • 条件分支,用于在两条或多条路径之间进行选择。Java中有三种类型:if/else/elseif、三元运算符和switch。
  • 循环;用于迭代多个值/对象并重复运行特定代码块的循环。Java中的基本循环类型是for、while和do-while。
  • 分支语句,用于改变循环中的控制流。Java中有两种类型:break和continue。

2.if/else/else if结构

if/else语句是最基本的控制结构,也是众多编程语言的基础。必须熟练掌握。
虽然if可以单独使用,但最常见的使用场景是使用if/else在两个路径之间进行选择:

if (count > 2) {
System.out.println("Count is higher than 2");
} else {
System.out.println("Count is lower or equal than 2");
}

理论上,我们可以无限地链接或嵌套if/else块,但这会损害代码的可读性,所以不建议这样做。

我们将在本文的其余部分探讨其他语句。

3.三元表达式

我们可以使用三元运算符作为替代if/else语句的速记表达式。
重构以后的代码如下:

System.out.println(count > 2 ? "Count is higher than 2" : "Count is lower or equal than 2");

虽然三值化是提高代码可读性的好方法,但它并不总是if/else的好替代品。

4.Switch结构

如果我们有多个条件需要判断,可以使用switch语句。
看一个简单的例子:

int count = 3;
switch (count) {
case 0:
System.out.println("Count is equal to 0");
break;
case 1:
System.out.println("Count is equal to 1");
break;
default:
System.out.println("Count is either negative, or higher than 1");
break;
}

三个或更多if/else语句可能很难阅读。为此,我们可以使用switch,如上所示。
注意,switch有作用域和输入限制,在使用它之前我们需要记住这些限制。

5.循环(Loops)

当我们需要连续多次重复执行相同的代码时使用循环。来看一个for和while循环类型的快速比较:

for (int i = 1; i <= 50; i++) {
methodToRepeat();
} int whileCounter = 1;
while (whileCounter <= 50) {
methodToRepeat();
whileCounter++;
}

上面的两个代码块都将调用methodToRepeat 50次。

6.结束循环(Break)

当需要退出循环时使用break关键字,此时循环体不再执行。
让我们看一个简单的例子:

List<String> names = getNameList();
String name = "John Doe";
int index = 0;
for ( ; index < names.length; index++) {
if (names[index].equals(name)) {
break;
}
}

在这里,在一个名字列表中寻找一个名字,一旦找到它,我们就要停止寻找。

7.直接执行下一循环(Continue)

简单的讲就是:结束当前循环,执行下一循环,不管当前循环下面有何代码都不再执行。

List<String> names = getNameList();
String name = "John Doe";
String list = "";
for (int i = 0; i < names.length; i++) {
// 找到同名的不会再加入到字符串中,继续判断下一个名字
if (names[i].equals(name)) {
continue;
}
list += names[i];
}

在这里,我们跳过在列表中添加重复的名称。正如我们在这里看到的,break和continue在迭代时非常方便,尽管它们通常可以用return语句或其他逻辑重写。

8.本文代码

完整程序代码:Java控制语句

Java控制语句的更多相关文章

  1. Java控制语句——if语句

    Java控制语句分为三大类:①顺序结构:②选择结构:③循环结构. 选择结构又分为:①单选择结构:②双选择结构:③多选择结构. 主要涉及: if_else , switch , while , brea ...

  2. Java开发知识之Java控制语句

    Java开发知识之Java控制语句 一丶复合语句 不管任何语言都有控制语句 if else if else whie do  while  for .... 首先讲解的是java的复合语句 1.什么是 ...

  3. Java 控制语句

    Java 控制语句

  4. Java 控制语句:循环、条件判断

    基础很重要,基础很重要,基础很重要.重要的事情说三遍,. 程序设计中的控制语句主要有三种:顺序.分支和循环.我们每天写的代码,除了业务相关,里面会包含大量的控制语句.但是控制语句的基本使用,是否有些坑 ...

  5. Java控制语句——分支、循环、跳转

    分支语句(if语句,switch语句): 循环语句(for,while,do...while); 跳转语句(break,continue,return): 分支语句(if语句,switch语句) if ...

  6. java 控制语句、数组、方法

    一.控制语句 1.if 语句 if语句是指如果满足某种条件,就进行某种处理. 流程图: 2. if…else语句 语法格式: if (判断条件){ 执行语句1 …… }else{ 执行语句2 …… } ...

  7. java控制语句 if-else while do-while for return break continue goto switch default

    if for //: object/ForEachFloat.java package object; import java.util.Random; public class ForEachFlo ...

  8. Java控制语句例题,for循环语句,if条件语句等,Scanner类与Random类,Math.max()方法

    例题:编写程序,生成5个1至10之间的随机整数,并打印结果到控制台 import java.util.Random;class demo09 { public static void main(Str ...

  9. Java控制语句——break和continue

    在任何循环语句的主体部分,均可用break控制循环的流程. break用于强行退出循环,不执行循环中剩余的语句.(break语句还可用于多支语句switch中) continue 语句用于循环语句体中 ...

  10. Java控制语句——for循环

    for循环语句是支持迭代的一种通用结构,是最有效.最灵活的循环结构. 语法形式: for(初始表达式 ; 布尔表达式 ; 步进){ 循环体 } for循环在执行条件测试后,先执行程序部分,再执行步进. ...

随机推荐

  1. SQLServer的varchar与nvarchar的学习之二

    SQLServer的varchar与nvarchar的学习之二 背景 昨天简单总结了多种数据库 varchar和nvarchar的区别与关系 今天想着能够分析一下数据库文件. 计划使用winhex 查 ...

  2. [转帖]Linux内核参数 rp_filter

    https://www.cnblogs.com/chenmh/p/6001977.html 简介 rp_filter (Reverse Path Filtering)参数定义了网卡对接收到的数据包进行 ...

  3. [转帖]renice和nice

    https://www.cnblogs.com/qiynet/p/17555881.html 将行程 id 为 987 及 32 的行程与行程拥有者为 daemon 及 root 的优先序号码加 1 ...

  4. [转帖]Linux | crontab定时任务及开机自启项

    本文总结如何使用 crontab 创建定时任务及开启自启项 1. 本文基于 CentOS 7.9 系统所写. Updated: 2022 / 9 / 5 Linux | crontab定时任务及开机自 ...

  5. [转帖]jcmd命令详解

    1 基本知识 jcmd 是在 JDK1.7 以后,新增了一个命令行工具. jcmd 是一个多功能的工具,相比 jstat 功能更为全面的工具,可用于获取目标 Java 进程的性能统计.JFR.内存使用 ...

  6. [转帖]LTP使用和分析

    一.安装及编译流程 1.下载LTP LTP 项目目前位于 GitHub,项目地址:https://github.com/linux-test-project/ltp . 获取最新版可以执行以下命令: ...

  7. TCP内核参数与Nginx配置的简单测试

    背景 昨天晚上整理了下几个TCP内核的参数. 学习到了一点内核参数的影响. 但是因为时间比较晚了没有继续钻研与nginx的关系 今天想着继续研究一下TCP的部分参数与nginx的关系 每个系统都不一样 ...

  8. 高性能Redis服务器注意事项

    摘要 昨天简单理了理安装与配置相关的 但是很多比较重要的核心性能参数并没有进行学习与探讨 就基于昨天理解不深入的地方进行进一步的学习与了解 希望能够提高Redis-Server的性能. 第一部分: 规 ...

  9. 开源项目01--WTM

    一.项目名称:WTM 项目所用技术栈: wtm mvvm mvc aspnetcore dotnetcore react vue layui layui-admin element-ui ncc等 项 ...

  10. python自动化高效办公第二期,带你项目实战【一】{excel数据处理、批量化生成word模板、pdf和ppt等自动化操作}

    相关文章和数据源: Python自动化办公--Pandas玩转Excel[一] Python自动化办公--Pandas玩转Excel数据分析[二] Python自动化办公--Pandas玩转Excel ...