文档

Java™ 教程-Java Tutorials 中文版
Trail: Learning the Java Language
Lesson: Language Basics
主页>学习 Java 语言>语言基础

问题和练习的答案:控制流语句

问题的答案

  1. Java 编程语言支持的最基本的控制流语句是 if-then 语句。
  2. switch 语句允许任意数量的可能执行路径。
  3. do-while 语句类似于 while 语句,但是会在循环的 bottom 处计算其表达式。
  4. 问题:你如何使用 for 语句编写无限循环?

    答案:

    for ( ; ; ) {
    
    }
    
  5. 问题:如何使用 while 语句编写无限循环?

    答案:

    while (true) {
    
    }
    

练习

  1. 考虑下面的代码片段。
    if (aNumber >= 0)
        if (aNumber == 0)
            System.out.println("first string");
    else 
        System.out.println("second string");
    System.out.println("third string");
    
    1. 练习:如果 aNumber 是 3,你认为代码会产生什么输出?

      解答:

      second string
      third string
      
    2. 练习:编写一个包含前面代码片段的测试程序; 使 aNumber 为3。该程序的输出是什么?这是你预测的吗?解释为什么输出结果如此。换句话说,代码片段的控制流程是什么?

      解答:NestedIf

      second string
      third string
      
      3 大于或等于 0,因此执行进行到第二个 if 语句。第二个 if 语句的测试失败,因为 3 不等于 0。因此,执行 else 子句(因为它连接到第二个 if 语句)。因此,显示 second string。最后的 println 完全在 if 语句之外,所以它总是被执行,因此总是显示 third string
    3. 练习:只使用空格和换行符,重新设置代码片段的格式,使控制流程更易于理解。

      解答:

      if (aNumber >= 0)
          if (aNumber == 0)
              System.out.println("first string");
          else
              System.out.println("second string");
      
      System.out.println("third string");
      
    4. 练习:使用大括号 {} 来进一步阐明代码并减少未来代码维护人员发生错误的可能性。

      解答:

      if (aNumber >= 0) {
          if (aNumber == 0) {
              System.out.println("first string");
          } else {
              System.out.println("second string");
          }
      }
      
      System.out.println("third string");
      

Previous page: Questions and Exercises: Control Flow Statements