# 问题与练习

# 问题

  1. Java 编程语言支持的最基本的控制流语句是___语句。
  2. ___语句允许任意数量的可能的执行路径。
  3. ___语句与 while 相似,但在循环的___处评估其表达式。
  4. 你怎么用 for 语句写一个无限循环?
  5. 你怎么用 while 语句写一个无限循环?

# 答案

  1. if-then
  2. switch
  3. do-while,底部
  4. for(;;){}
  5. while(true){}

# 练习

请考虑以下代码

if (aNumber >= 0)
    if (aNumber == 0)
        System.out.println("first string");
else System.out.println("second string");
System.out.println("third string");
1
2
3
4
5
  1. 你认为如果 aNumber 是 3 ,代码将产生什么输出?
  2. 编写一个包含以前代码段的测试程序; make aNumber3. 程序的输出是什么? 是你预测的吗? 解释为什么; 换句话说,代码片段的控制流程是什么?
  3. 仅使用空格和换行符,重新格式化代码段,使控件流程更容易理解。
  4. 使用括号 { } 来进一步澄清代码。

# 答案

  1. 第一项

    second string
    third string
    
    1
    2
  2. 第二项

    class NestedIf {
    public static void main(String[] args) {
          int aNumber = 3;
    
          if (aNumber >= 0)
              if (aNumber == 0) System.out.println("first string");
          else System.out.println("second string");
          System.out.println("third string");
        }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
  3. 第三项目

        if (aNumber >= 0)
            if (aNumber == 0)
                System.out.println("first string");
        else
            System.out.println("second string");
    
        System.out.println("third string");
    
    
    1
    2
    3
    4
    5
    6
    7
    8
  4. 第 4 项

      if (aNumber >= 0) {
          if (aNumber == 0) {
              System.out.println("first string");
          } else {
              System.out.println("second string");
          }
      }
    
      System.out.println("third string");
    
    1
    2
    3
    4
    5
    6
    7
    8
    9