Programs need to be able to react differently to varying data. Conditional statements let us do this. For example, a robot must be able to monitor its sensors to prevent collisions. Consider (and try running) the following program:
- Create a new folder in your Java Projects folder named Conditional Example
- Create a new file (New->File)
- Cut and paste this program into the file.
public class ConditionalExample { public static void main(String args[]) { int rangeInInches; rangeInInches = 10; if (rangeInInches < 20) { System.out.println("stop motors so we don't crash!"); } else { System.out.println("full speed ahead!"); } } }
- Save the program as ConditionalExample.java (notice how the name of the file must match the name of the class)
Running the program
Run the program using the debugger with a breakpoint set on the first executable line (rangeInInches=10);
- Step through the program using the stepover tool and observe the flow of the program.
- Restart the program using the restart tool
- Change the values stored in the variable rangeInInches to 25 and observe the flow of the program.
Understanding the program
In the example above, we
- Create a variable named rangeInInches. Notice how the name of the variable conveys information about what type of information can be held in it including the units; this is a very good programming practice and will make your programs more readable.
- Store a value (10) in the variable rangeInInches.
In a robot program, we might get the value from a distance measurement sensor. - Compare the value to 20
- If the value is less than 20, we display the message stop motors so we don't crash''.
In a robot program, we would actually stop the motors - If the value is not less than 20, we display the message full speed ahead''
- If the value is less than 20, we display the message stop motors so we don't crash''.
Java allows you to have multiple conditionals using the syntax:
if (<condition 1>) { // do this if condition 1 is true // also do this if condition 1 is true } else if (<condition 2>) { // do this if condition 1 was not true but condition 2 is true } else { // do this if neither condition 1 nor condition 2 were true }
You can have as many else if clauses as you wish.
Some things to note:
- The conditions are always placed within parentheses
- The conditions are logic statements that must evaluate to true or false (e.g. (a < 10))
- The conditions are evaluated in order and the first condition that matches is executed, the rest are skipped
- The else if and else clauses are optional
Extra Credit
- Try adding an else if clause to the sample program:
- Read more about Java conditionals here
Last modified 6 years ago
Last modified on Nov 4, 2019, 3:28:03 PM