Home » Java Basics » switch statement » Java Switch Case Example

About Konstantina Dimtsa

Konstantina Dimtsa
Konstantina has graduated from the Department of Informatics and Telecommunications in National and Kapodistrian University of Athens (NKUA) and she is currently pursuing M.Sc studies in Advanced Information Systems at the same department. She is also working as a research associate for NKUA in the field of telecommunications. Her main interests lie in software engineering, web applications, databases and telecommunications.

Java Switch Case Example

In this post, we feature a comprehensive Java Switch Case Example. Java provides decision making statements so as to control the flow of your program. The switch statement in java is the one that we will explain in this article. These statements are:

  • if...then
  • if...then...else
  • switch..case
java switch case

A switch statement in java checks if a variable is equal to a list of values. The variable in the switch statement can be a byte, short, int, or char. However, Java 7 supports also switch statements with Strings. We will see such an example in the next sections.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design

and many more ....

 

1. Syntax of Java switch case

The syntax of a switch case statement is the following:

switch (variable) {
  case c1:
        statements // they are executed if variable == c1
        break;
  case c2: 
        statements // they are executed if variable == c2
        break;
  case c3:
  case c4:        
        statements // they are executed if variable ==  any of the above c's
        break;
  . . .
  default:
        statements // they are executed if none of the above case is satisfied
        break;
}
  • switch: the switch keyword is followed by a parenthesized expression, which is tested for equality with the following cases. There is no bound to the number of cases in a switch statement.
  • case: the case keyword is followed by the value to be compared to and a colon. Its value is of the same data type as the variable in the switch. The case which is equal to the value of the expression is executed.
  • default: If no case value matches the switch expression value, execution continues at the default clause. This is the equivalent of the "else" for the switch statement. It is conventionally written after the last case, and typically isn’t followed by break because execution just continues out of the switch. However, it would be better to use a break keyword to default case, too. If no case matched and there is no default clause, execution continues after the end of the switch statement.
  • break: The break statement causes execution to exit the switch statement. If there is no break, execution flows through into the next case, but generally, this way is not preferred.

2. Example of switch case

Let’s see an example of the switch case. Create a java class named SwitchCaseExample.java with the following code:

SwitchCaseExample.java

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.javacodegeeks.javabasics.switchcase;
 
public class SwitchCaseExample {
    public static void main(String[] args) {
 
        grading('A');
        grading('C');
        grading('E');
        grading('G');
    }
 
    public static void grading(char grade) {
 
        int success;
        switch (grade) {
        case 'A':
            System.out.println("Excellent grade");
            success = 1;
            break;
        case 'B':
            System.out.println("Very good grade");
            success = 1;
            break;
        case 'C':
            System.out.println("Good grade");
            success = 1;
            break;
        case 'D':
        case 'E':
        case 'F':
            System.out.println("Low grade");
            success = 0;
            break;
        default:
            System.out.println("Invalid grade");
            success = -1;
            break;
        }
 
        passTheCourse(success);
 
    }
 
    public static void passTheCourse(int success) {
        switch (success) {
        case -1:
            System.out.println("No result");
            break;
        case 0:
            System.out.println("Final result: Fail");
            break;
        case 1:
            System.out.println("Final result: Success");
            break;
        default:
            System.out.println("Unknown result");
            break;
        }
 
    }
 
}

In the above code we can see two switch case statements, one using char as data type of the expression of the switch keyword and one using int.

Output
Excellent grade
Final result: Success
Good grade
Final result: Success
Low grade
Final result: Fail
Invalid grade
No result

Below is the equivalent of the switch case statement in the method passTheCourse() using if..then..else:

1
2
3
4
5
6
7
8
9
if (success == -1) {
        System.out.println("No result");
} else if (success == 0) {
    System.out.println("Final result: Fail");
} else if (success == 1) {
    System.out.println("Final result: Success");
} else {
    System.out.println("Unknown result");
}

3. Example of switch case using String

As we mentioned in the introduction of this example, Java SE 7 supports String in switch case statements. Let’s see such an example. Create a java class named StringSwitchCase.java with the following code:

StringSwitchCase.java

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.javacodegeeks.javabasics.switchcase;
 
public class StringSwitchCase {
     
    public static void main(String args[]) {
         
        visitIsland("Santorini");
        visitIsland("Crete");
        visitIsland("Paros");
         
    }
     
    public static void visitIsland(String island) {
         switch(island) {
          case "Corfu":
               System.out.println("User wants to visit Corfu");
               break;
          case "Crete":
               System.out.println("User wants to visit Crete");
               break;
          case "Santorini":
               System.out.println("User wants to visit Santorini");
               break;
          case "Mykonos":
               System.out.println("User wants to visit Mykonos");
               break;
         default:
               System.out.println("Unknown Island");
               break;
         }
    }
 
}

If we run the above code, we will have the following result:

Output
User wants to visit Santorini
User wants to visit Crete
Unknown Island

Last updated on Dec. 12th, 2019

4. Download the source code

This was a Java Switch-Case Example.

Download
You can download the source code from here: Java Switch Case Example

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

 

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design

 

and many more ....

 

Receive Java & Developer job alerts in your Area

 

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Michal Vala
Michal Vala
1 year ago

How differ performance for individual options? Have you try microbenchmarking it?

mubeeer
1 year ago

Switch statement in java programing switch statement in java programing The switch statement is another conditional structure. it is good of alternate of nested if-else .it can be used easily when there are many choices available and only one should be executed. Nested if becomes very difficult in such a situation. If the statement makes a selection based on single true or false condition. there are four cases of computing taxes which depends on the value of status .to full account for all case nested if statement were used. Overuse of nested if statement makes a program difficult to read… Read more »