Java官方教程(五-1)流程控制语句(2020.12.24)

前言

本文是橙子出于兴趣爱好对Java官方教程的尝试翻译,几乎每日更新,感兴趣的朋友可以关注一下橙子;翻译过程中尽可能多的对一些关键词保留了英文原文,如果你想看最纯正的英文原版教材却又看不懂,可以试着来看一下橙子的翻译版啊,欢迎大家留言讨论,冲鸭!
更多相关文章点击阅读
Java官方教程目录2020最新版

流程控制语句 control flow statements

源文件中的语句通常按照出现的顺序从上到下执行。然而,流程控制语句通过决策,循环和分支来改变程序执行流程,从而能够使程序有条件的执行特定的代码块。本节讲述了Java语言支持的决策语句(if-then, if-then-else, switch),循环语句(for, while, do-while)和分支语句(break, continue, return)。

The if-then and if-then-else Statements

The if-then Statement

if-then语句是最基本的流程控制语句。它告诉程序仅在特定测试结果为true的时候才执行代码的特定部分。例如,Bicycle类可以仅在自行车已经前行时才允许刹车降速。

void applyBrakes() {
    // the "if" clause: bicycle must be moving
    if (isMoving){ 
        // the "then" clause: decrease current speed
        currentSpeed--;
    }
}

如果测试结果为false(即自行车没有前行),则程序跳转到if-then语句的末尾。另外,如果then子句仅包含一条语句,则可以省略大括号:

void applyBrakes() {
    // same as above, but without braces 
    if (isMoving)
        currentSpeed--;
}

是否省略大括号是个人喜好问题,但是省略括号不利于代码的健壮性。

The if-then-else Statement

当if子句的值为false的时候,if-then-else语句提供了第二种执行路径。比如可以当自行车不前行时踩下了刹车,可以在applyBrakes中使用if-then-else语句来采取一些措施。在这种情况下,可以简单的打印一条信息指出自行车已经停止。

void applyBrakes() {
    if (isMoving) {
        currentSpeed--;
    } else {
        System.err.println("The bicycle has already stopped!");
    } 
}

程序IfElseDemo根据测试分数来分配等级:A表示90%及更高,B表示80%及更高等等。

class IfElseDemo {
    public static void main(String[] args) {

        int testscore = 76;
        char grade;

        if (testscore >= 90) {
            grade = 'A';
        } else if (testscore >= 80) {
            grade = 'B';
        } else if (testscore >= 70) {
            grade = 'C';
        } else if (testscore >= 60) {
            grade = 'D';
        } else {
            grade = 'F';
        }
        System.out.println("Grade = " + grade);
    }
}

输出为:

    Grade = C

testscore的值可以满足复合语句中多个表达式:76>=70和76>=60。但是,一旦满足一个条件就会执行适当的语句(grade = ‘C’?,剩余的条件将不会被计算。

想系统学习Java的朋友关注一下橙子,相信会有意想不到的收获鸭!


版权声明:本文为weixin_42509923原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。