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

问题答案

  • Java 编程语言支持的最基本的控制流语句是“ if-then **”语句。

  • switch 语句允许任何数量的可能执行路径。

  • “ do-while”语句与while语句相似,但是在循环的“底部”评估其表达式。

  • 问题: 您如何使用for语句编写无限循环?

Answer:

for ( ; ; ) {

}
  • 问题: 您如何使用while语句编写无限循环?

Answer:

while (true) {

}

Exercises

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

Solution:

second string
third string
  • 练习: 编写一个包含先前代码片段的测试程序; make aNumber 3.程序的输出是什么?是你的预言吗?解释为什么输出是正确的。换句话说,代码段的控制流程是什么?

解决方案: NestedIf

second string
third string

3 大于或等于 0,因此执行前进到第二个if语句。第二个if语句的测试失败,因为 3 不等于 0.因此,执行else子句(因为它附加到第二个if语句)。因此,显示second string。最后的println完全在任何if语句之外,因此它总是被执行,因此总是显示third string

  • 练习: 仅使用空格和换行符,可重新格式化代码段,以使控制流程更易于理解。

Solution:

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

System.out.println("third string");
  • 锻炼: 使用大括号{}进一步阐明代码,并减少将来代码维护者出错的可能性。

Solution:

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

System.out.println("third string");