Java Tutorial

Java Control Statements

Object Oriented Programming

Java Built-in Classes

Java File Handling

Java Error & Exceptions

Java Multithreading

Java Synchronization

Java Networking

Java Collections

Java List Interface

Java Queue Interface

Java Map Interface

Java Set Interface

Java Data Structures

Java Collections Algorithms

Advanced Java

Java Miscellaneous

Java APIs & Frameworks

Java Useful Resources

Java - default Keyword



Java default keyword is part of switch statement which allows a variable to be tested for equality against a list of values. Each value is called a case, and the variable being switched on is checked for each case. default represents a special case which executes without any need of any matching value. default case is optional and will not be executed if any break or exit statement is encountered before default statement in any of the case defined above it.

Syntax

The syntax of enhanced switch statement is −

switch(expression) {
   case value :
      // Statements
      break; // optional
   
   case value :
      // Statements
      break; // optional
   
   // You can have any number of case statements.
   default : // Optional
      // Statements
}

The following rules apply to a switch statement −

  • The variable used in a switch statement can only be integers, convertable integers (byte, short, char), strings and enums.

  • You can have any number of case statements within a switch. Each case is followed by the value to be compared to and a colon.

  • The value for a case must be the same data type as the variable in the switch and it must be a constant or a literal.

  • When the variable being switched on is equal to a case, the statements following that case will execute until a break statement is reached.

  • When a break statement is reached, the switch terminates, and the flow of control jumps to the next line following the switch statement.

  • Not every case needs to contain a break. If no break appears, the flow of control will fall through to subsequent cases until a break is reached.

  • A switch statement can have an optional default case, which must appear at the end of the switch. The default case can be used for performing a task when none of the cases is true. No break is needed in the default case.

Flow Diagram

Switch Statement

Example 1

In this example, we're showing use of switch statement where cases are based on a char. We've created a variable grade. Based on value of grade, each case is checked. if a case is satisfied and break statement is present then following cases are not checked. As we're passing an invalid grade, only default will be executed to print the "Invalid Grade" as result.

package com.tutorialspoint;

public class JavaTester {

   public static void main(String args[]) {
      char grade = 'c';

      switch(grade) {
         case 'A' :
            System.out.println("Excellent!"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("Well done");
            break;
         case 'D' :
            System.out.println("You passed");
         case 'F' :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}

Output

Compile and run the above program using various command line arguments. This will produce the following result −

Invalid grade
Your grade is c

Example 2

In this example, we're showing use of switch statement where cases are based on a int. We've created a variable grade. Based on value of grade, each case is checked. if a case is satisfied and break statement is present then following cases are not checked. As we're using break statments in case statements, after a matching case, switch statement is not executing default statement at all.

package com.tutorialspoint;

public class JavaTester {

   public static void main(String args[]) {
      int grade = 3;

      switch(grade) {
         case 1 :
            System.out.println("Excellent!"); 
            break;
         case 2 :
         case 3 :
            System.out.println("Well done");
            break;
         case 4 :
            System.out.println("You passed");
         case 5 :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}

Output

Compile and run the above program using various command line arguments. This will produce the following result −

Well done
Your grade is 3

Example 3

In this example, we're showing use of switch statement where cases are based on a String. We've created a variable grade. Based on value of grade, each case is checked. if a case is satisfied and break statement is present then following cases are not checked. Here we're not using default statment being an optional field and program runs fine.

package com.tutorialspoint;

public class JavaTester {

   public static void main(String args[]) {
      String grade = "C";

      switch(grade) {
         case "A" :
            System.out.println("Excellent!"); 
            break;
         case "B" :
         case "C" :
            System.out.println("Well done");
            break;
         case "D" :
            System.out.println("You passed");
         case "F" :
            System.out.println("Better try again");
            break;
      }
      System.out.println("Your grade is " + grade);
   }
}

Output

Compile and run the above program using various command line arguments. This will produce the following result −

Well done
Your grade is C
java_basic_syntax.htm
Advertisements