Java控制语句

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控制语句

posted @ 2021-06-12 23:04  一锤子技术员  阅读(6)  评论(0编辑  收藏  举报  来源