How to use the Switch expression (case) in Java?

Java Conceptuel Diagram

About

This article is about the implementation of the Switch branching statement 1) in Java

Type

Value Switch

You need to use primitive type or enum after the case word. ie int in place of Integer

The value switch is supported.

int month = 8;
String monthString;
switch (month) {
	case 1:  monthString = "January";
			 break;
	case 2:  monthString = "February";
			 break;
	case 3:  monthString = "March";
			 break;
	case 4:  monthString = "April";
			 break;
	case 5:  monthString = "May";
			 break;
	case 6:  monthString = "June";
			 break;
	case 7:  monthString = "July";
			 break;
	case 8:  monthString = "August";
			 break;
	case 9:  monthString = "September";
			 break;
	case 10: monthString = "October";
			 break;
	case 11: monthString = "November";
			 break;
	case 12: monthString = "December";
			 break;
	default: monthString = "Invalid month";
			 break;
}
System.out.println(monthString);

Expression Switch

Java does not support expression switch, you should use the if then else construct for this purpose.

Support

Constant expression required

In a constant expression, you need to use a primitive type. Ie int in place of integer

Example in a function:

private String[] parseCommand(String code) {

	// final Integer defaultState = 1; // Not good
	final int defaultState = 1; // Good

	Integer state = defaultState;
	for (byte b : code.getBytes()){
		switch (state) {
			case defaultState:
				break;
		}
	}
	
	return new String[0];
}





Discover More
Java Conceptuel Diagram
Java - Flow

if then else The return statement exits from the current method, and control flow returns to where the method was invoked.



Share this page:
Follow us:
Task Runner