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 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.
while
statement, but evaluates its expression at the bottom of the loop.for
statement?
Answer:
for ( ; ; ) { }
while
statement?
Answer:
while (true) { }
if (aNumber >= 0) if (aNumber == 0) System.out.println("first string"); else System.out.println("second string"); System.out.println("third string");
aNumber
is 3?
Solution:
second string third string
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
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.Solution:
if (aNumber >= 0) if (aNumber == 0) System.out.println("first string"); else System.out.println("second string"); System.out.println("third string");
{
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");