A browser with JavaScript enabled is required for this page to operate properly.
Documentation

The Java™ Tutorials
Trail: Learning the Java Language
Lesson: Language Basics
Home Page > Learning the Java Language > Language Basics
« PreviousTOC

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
See Dev.java for updated tutorials taking advantage of the latest releases.
See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.

Answers to Questions and Exercises: Control Flow Statements

Answers to Questions

  1. The most basic control flow statement supported by the Java programming language is the if-then statement.
  2. The switch statement allows for any number of possible execution paths.
  3. The do-while statement is similar to the while statement, but evaluates its expression at the bottom of the loop.
  4. Question: How do you write an infinite loop using the for statement?

    Answer:

    for ( ; ; ) {
    }
    
  5. Question: How do you write an infinite loop using the while statement?

    Answer:

    while (true) {
    }
    

Exercises

  1. Consider the following code snippet.
    if (aNumber >= 0)
     if (aNumber == 0)
     System.out.println("first string");
    else 
     System.out.println("second string");
    System.out.println("third string");
    
    1. Exercise: What output do you think the code will produce if aNumber is 3?

      Solution:

      second string
      third string
      
    2. Exercise: Write a test program containing the previous code snippet; make aNumber 3. What is the output of the program? Is it what you predicted? Explain why the output is what it is. In other words, what is the control flow for the code snippet?

      Solution: NestedIf

      second string
      third string
      
      3 is greater than or equal to 0, so execution progresses to the second if statement. The second if statement's test fails because 3 is not equal to 0. Thus, the else clause executes (since it's attached to the second if statement). Thus, second string is displayed. The final println is completely outside of any if statement, so it always gets executed, and thus third string is always displayed.
    3. Exercise: Using only spaces and line breaks, reformat the code snippet to make the control flow easier to understand.

      Solution:

      if (aNumber >= 0)
       if (aNumber == 0)
       System.out.println("first string");
       else
       System.out.println("second string");
      System.out.println("third string");
      
    4. Exercise: Use braces { and } to further clarify the code and reduce the possibility of errors by future maintainers of the code.

      Solution:

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

Previous page: Questions and Exercises: Control Flow Statements

AltStyle によって変換されたページ (->オリジナル) /