文档

Java™教程
路径: 学习Java语言
课程: 语言基础
主页 > 学习Java语言 > 语言基础

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

问题答案

  1. Java编程语言支持的最基本的控制流语句是if-then语句。
  2. switch语句允许有任意数量的执行路径。
  3. do-while语句类似于while语句,但它在循环的底部评估表达式。
  4. 问题:如何使用for语句编写一个无限循环?

    答案:

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

    答案:

    while (true) {
    
    }
    

练习题

  1. 考虑以下代码片段。
    if (aNumber >= 0)
        if (aNumber == 0)
            System.out.println("第一个字符串");
    else 
        System.out.println("第二个字符串");
    System.out.println("第三个字符串");
    
    1. 练习:如果aNumber是3,你认为代码会输出什么?

      解答:

      第二个字符串
      第三个字符串
      
    2. 练习:编写一个测试程序,包含上述代码片段;将aNumber设为3。程序的输出是什么?是否和你预测的一样?解释为什么输出是这样的。换句话说,代码片段的控制流是什么?

      解答: NestedIf

      第二个字符串
      第三个字符串
      
      3大于或等于0,所以执行到第二个if语句。第二个if语句的条件不满足,因为3不等于0。因此,执行else子句(因为它附属在第二个if语句上)。因此,显示第二个字符串。最后一个println完全不属于任何if语句,所以它总是被执行,因此显示第三个字符串
    3. 练习:只使用空格和换行符,重新格式化代码片段,以使控制流更容易理解。

      解答:

      if (aNumber >= 0)
          if (aNumber == 0)
              System.out.println("第一个字符串");
          else
              System.out.println("第二个字符串");
      
      System.out.println("第三个字符串");
      
    4. 练习:使用大括号{}进一步澄清代码,减少未来维护代码时出现错误的可能性。

      解答:

      if (aNumber >= 0) {
          if (aNumber == 0) {
              System.out.println("第一个字符串");
          } else {
              System.out.println("第二个字符串");
          }
      }
      
      System.out.println("第三个字符串");
      

上一页:问题和练习:控制流语句