Java Tutorial - 2 Control Flow (selection)
Tags: java, tutorial, beginners
Published: 2021-05-25 00:21:56

The condition selection is a commonly used in Java to execute a certain code based on the specific condition.

## if Statement

To create an `if` statement, use this syntax.

```
if (condition) {
    // code..
}
```

This is the example of `if` usage to detect a number is an even or odd number.

```java
public class MyApp {
    public static void main(String[] args){
        int num = 24;
        if (num % 2 == 0) {
            System.out.println("Even number");
        }
    }
}
```

This is the output:

```
Even number

```

Based on the code above, the variable called `num` is compared using `==` operator to check if the result of `num % 2` (num mod 2) is equals zero. If it is true, the `Even number` text is printed out.

This is the list of comparation operator that can be used in Java.

| Operator | Description            |
| -------- | ---------------------- |
| `==`     | Equals to              |
| `!=`     | Not equals to          |
| `>`      | Greater than           |
| `>=`     | Greater than or equals |
| `<`      | Less than              |
| `<=`     | Less than or equals    |

The other operators like AND (`&&`) and OR (`||`) is available.

The AND (`&&`) operator is an operator that returns true if the two conditions returns true.

| Condition | Condition | Result |
| --------- | --------- | ------ |
| False     | False     | False  |
| False     | True      | False  |
| True      | False     | False  |
| True      | True      | True   |

The OR (`||`) operator is an operator that returns true if the one or two conditions returns true.

| Condition | Condition | Result |
| --------- | --------- | ------ |
| False     | False     | False  |
| False     | True      | True   |
| True      | False     | True   |
| True      | True      | True   |

## if else Statement

The `if` statement can be added with `else` to execute another code if the condition inside `if` is not match. Here it is the basic syntax.

```
if (condition) {
    // code..
} else {
    // code..
}
```

```java
public class MyApp {
    public static void main(String[] args){
        int num = 91;
        if (num % 2 == 0) {
            System.out.println("Even number");
        } else {
            System.out.println("Odd number");
        }
    }
}
```

The output:

```
Odd number

```

Based on that code, the condition inside `if` statement is not match because the result of `91 % 2` is not equals zero then the code inside `else` block is executed.

The multiple condition selection is available with `if else if` statement. Here it is the basic syntax.

```
if (condition) {
    // code..
} else if (condition) {
    // code..
} else {
    // code..
}
```

This is the example of the `if else if` usage. In this case, the simple program is created to define the grade in letter based on the grade in number.

| Condition | Result |
| --------- | ------ |
| 0-50      | D      |
| 51-65     | C      |
| 66-79     | B      |
| 80-100    | A      |

```java
import java.util.Scanner;

public class MyApp {
    public static void main(String[] args){
        // create an input
        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter a grade: ");
        // get the grade in number from the input
        int grade = scanner.nextInt();

        // define the grade in letter variable
        char result = 0;

        // condition selection
        if (grade <= 50 && grade >= 0) {
            result = 'D';
        } else if (grade >= 51 && grade <= 65) {
            result = 'C';
        } else if (grade >= 66 && grade <= 79) {
            result = 'B';
        } else if (grade >= 80 && grade <= 100) {
            result = 'A';
        } else {
            System.out.println("Invalid grade");
            // stop the execution using return
            return;
        }

        // print out the result
        System.out.println("The result is: " + result);
    }
}
```

The output (with the input):

```
Enter a grade: 77
The result is: B

```

Based on the code above, the `if else if` selection is suitable for a range condition.

> The `if` or `if else if` statement is suitable for a condition that has a specific range.

## switch case Statement

Another way to create a condition selection is using `switch case`. This is the basic syntax.

```
switch(variable) {
    case condition:
        // code..
        break;
    case condition:
        // code..
        break;
    default:
        // code..
        break;
}
```

This is the example of using `switch case`. The program is created to define the topics that needed.

```java
import java.util.Scanner;

public class MyApp {
    public static void main(String[] args){
        // create an input
        Scanner scanner = new Scanner(System.in);

        System.out.print("What do you want to learn? ");
        String input = scanner.nextLine();

        // convert the all letters in input to lowercase
        String learn = input.toLowerCase();

        // condition selection
        switch (learn) {
            case "front end":
                System.out.println("Learn HTML, CSS and JS");
                break;
            case "back end":
                System.out.println("Learn Java, PHP and Go");
                break;
            case "mobile":
                System.out.println("Learn Android and iOS development");
                break;
            default:
                System.out.println("Learn the related topics");
                break;
        }
    }
}

```

The output (with the input).

```
What do you want to learn? mobile
Learn Android and iOS development

```

Based on that code, the `case` keyword is used to define the case or condition. The `break` keyword is needed to avoid the other code that is not match with the case condition being executed. The `default` keyword is used to execute the code if the other cases is not match.

> the switch case selection is suitable for a specific condition that is not a range condition.

## Sources

- Check out this [resource](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html) to learn more about condition selection.

I hope this article is helpful for learning the Java programming language. If you have any thoughts or comments you can write in the discussion section below.