Hello again, fellow Java Astronaut! Today, we'll examine an essential programming tool: conditional statements. These statements help determine the path our program takes. Are you ready to dive into if-else
, switch case
, and the lean yet powerful ternary operator
that influences our program's trajectory? Let's get started!
The structure of if
and if-else
blocks is the following:
Java1if (condition) { 2 // action if condition is true 3} 4 5// and 6 7if (condition) { 8 // action if condition is true 9} else { 10 // action if condition is false 11}
So, when the provided condition
is true, we enter the action in the if
block, and when the condition
is false, we enter an optional else
block.
An if
statement is simple yet powerful, instructing the computer to perform actions only under specific conditions. Let's imagine deciding to land on a planet with breathable air:
Java1int oxygenLevel = 78; // The level of oxygen on the planet 2 3if (oxygenLevel > 20) { 4 System.out.println("Planet has breathable air!"); // Oxygen level is suitable 5} else { 6 System.out.println("Oxygen level too low!"); // Oxygen level is not high enough 7} 8// The code prints: Planet has breathable air!
In the example above, the statement if (oxygenLevel > 20)
checks if the oxygen level exceeds 20. If the condition proves true
, it prints: "Planet has breathable air!"
. If it's false
, else
guides us to an alternative command, printing: "Oxygen level too low!"
.
For multiple conditions, we rely on else if
:
Java1int oxygenLevel = 58; 2if (oxygenLevel > 70) { 3 System.out.println("Excellent Oxygen level!"); 4} else if (oxygenLevel > 50) { 5 System.out.println("Oxygen level is acceptable."); 6} else { 7 System.out.println("Oxygen level is too low!"); 8} 9// The code prints: Oxygen level is acceptable.
The else if
keyword provides alternate paths until a suitable one is found, ensuring we react appropriately to varying oxygen levels. Once the first condition is met, the program ignores all remaining else if
conditions below.
A switch
statement enables us to navigate multiple outcomes based on the value of a variable. Let's envision visiting different planets, each requiring a unique set of preparations:
Java1int planetNumber = 3; // The chosen planet number 2 3switch (planetNumber) { 4 case 1: 5 System.out.println("Gearing up for Planet 1!"); // Case for planet 1 6 break; 7 case 2: 8 System.out.println("Preparing for Planet 2!"); // Case for planet 2 9 break; 10 case 3: 11 System.out.println("Get ready for Planet 3!"); // Case for planet 3 12 break; 13 default: 14 System.out.println("Resting at the spaceship."); // Default case 15} 16// The code prints: Get ready for Planet 3!
In the code above, each case
corresponds to a planetary number. The default
command indicates no particular planet has been selected.
Note the break
statement at the end of each case
operation - it's required for the correct execution flow. Otherwise, the case
will go down further to the next case
scenario. So, break
is used to finish the switch
execution when the value has matched some case
and processed all the required actions.
For example, the code below will print two statements to the console:
Java1int planetNumber = 3; // The chosen planet number 2 3switch (planetNumber) { 4 case 1: 5 System.out.println("Gearing up for Planet 1!"); // Case for planet 1 6 break; 7 case 2: 8 System.out.println("Preparing for Planet 2!"); // Case for planet 2 9 break; 10 case 3: 11 System.out.println("Get ready for Planet 3!"); // Case for planet 3 12 // Missing break here! 13 default: 14 System.out.println("Resting at the spaceship."); // Default case 15} 16// The code prints: 17// Get ready for Planet 3! 18// Resting at the spaceship.
This code will print both "Get ready for Planet 3!"
and "Resting at the spaceship."
messages! Be careful!
The ternary operator
serves as a condensed one-line if-else
, ideal for basic condition checks. The structure of the operator is the following:
Java1// if condition is true, then do 'action1', otherwise - do 'action2' 2result = condition ? action1 : action2;
Consider it an evaluative measure of signal presence before landing:
Java1boolean detection = true; // Whether a signal can be detected 2 3String message = detection ? "Signal detected, safe to land!" : "No signal detected, abort mission!"; 4System.out.println(message); // Prints: "Signal detected, safe to land!"
In the code above, message
receives "Signal detected, safe to land!"
, as detection
is true
. Otherwise, it'd receive "No signal detected, abort mission!"
.
Kudos! You've successfully navigated the microcosm of Java's conditional statements today. Continue practicing these skills in our upcoming exercises. Each bit of practice will make you a more proficient navigator through the cosmos of Java, preparing you for the next stage of your cosmic journey. Hold tight!