Home Java javaTutorial How to use Switch expressions to handle multiple conditional branches in Java 14

How to use Switch expressions to handle multiple conditional branches in Java 14

Aug 02, 2023 pm 08:39 PM

How to use Switch expressions to process multiple conditional branches in Java 14

In programming, we often encounter situations where we need to execute different code blocks based on different conditions. In Java, we usually use the Switch statement to handle such multi-conditional branch situations. However, in Java 14, the new feature of Switch expressions was introduced, which makes the processing of conditional branches more concise and flexible. This article will introduce how to use Switch expressions to process multiple conditional branches in Java 14, and give corresponding code examples.

In versions before Java 14, the Switch statement usually takes the following form:

switch (expression) {
    case value1:
        // 代码块1
        break;
    case value2:
        // 代码块2
        break;
    ...
    default:
        // 默认代码块
}
Copy after login

In Java 14, you can use the new Switch expression to implement the processing of multiple conditional branches. The usage form of Switch expression is:

result = switch (expression) {
    case value1 -> {
        // 代码块1
        yield result1;
    }
    case value2 -> {
        // 代码块2
        yield result2;
    }
    ...
    default -> {
        // 默认代码块
        yield defaultResult;
    }
};
Copy after login

The result of Switch expression can be assigned to a variable, and the result can be returned using the yield keyword. It should be noted that each code block in the Switch expression needs to use the yield keyword to return the result, otherwise an error will be reported.

The following is an example to show how to use Switch expressions to process multiple conditional branches in Java 14.

public class SwitchExpressionExample {
    public static void main(String[] args) {
        String dayOfWeek = "Monday";
        String typeOfDay = switch (dayOfWeek) {
            case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" -> "Weekday";
            case "Saturday", "Sunday" -> "Weekend";
            default -> throw new IllegalArgumentException("Invalid day of week: " + dayOfWeek);
        };

        System.out.println("Type of day: " + typeOfDay);
    }
}
Copy after login

In the above example, we determine whether it is a working day or a weekend based on the given day of the week, and assign the result to the typeOfDay variable. In the Switch expression, we use the case keyword to define each conditional branch, and use the -> symbol to connect the code block and the result. It should be noted that multiple values ​​can be specified in the case list at the same time, separated by commas.

Run the above code, the output result is:

Type of day: Weekday
Copy after login

Through the above example, we can see that using Switch expressions to process multiple conditional branches in Java 14 is more concise and intuitive. Compared with the traditional Switch statement, the syntax of the Switch expression is more concise, and the result can be directly assigned to a variable, which improves the readability and maintainability of the code.

In addition to the strings representing conditions in the above examples, Switch expressions can also use other data types, such as int, enum, etc. Using Switch expressions makes it easier to handle multiple conditional branches, reducing code redundancy and the possibility of errors. Therefore, when developing Java applications, you can make full use of the functionality of Switch expressions in Java 14 to improve code quality and development efficiency.

In summary, this article introduces how to use Switch expressions to handle multiple conditional branches in Java 14, and demonstrates its use through sample code. Switch expressions make the processing of conditional branches more concise and flexible, and can improve the readability and maintainability of the code. In the actual development process, we can reasonably use Switch expressions to handle different conditional branch situations according to specific needs.

The above is the detailed content of How to use Switch expressions to handle multiple conditional branches in Java 14. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

In Java remote debugging, how to correctly obtain constant values ​​on remote servers? In Java remote debugging, how to correctly obtain constant values ​​on remote servers? Apr 19, 2025 pm 01:54 PM

Questions and Answers about constant acquisition in Java Remote Debugging When using Java for remote debugging, many developers may encounter some difficult phenomena. It...

How to choose Java project management tools when learning back-end development? How to choose Java project management tools when learning back-end development? Apr 19, 2025 pm 02:15 PM

Confused with choosing Java project management tools for beginners. For those who are just beginning to learn backend development, choosing the right project management tools is crucial...

When Tomcat loads Spring-Web modules, does the SPI mechanism really destroy the visibility principle of Java class loaders? When Tomcat loads Spring-Web modules, does the SPI mechanism really destroy the visibility principle of Java class loaders? Apr 19, 2025 pm 02:18 PM

Analysis of class loading behavior of SPI mechanism when Tomcat loads Spring-Web modules. Tomcat is used to discover and use the Servle provided by Spring-Web when loading Spring-Web modules...

What is the reason why the browser does not respond after the WebSocket server returns 401? How to solve it? What is the reason why the browser does not respond after the WebSocket server returns 401? How to solve it? Apr 19, 2025 pm 02:21 PM

The browser's unresponsive method after the WebSocket server returns 401. When using Netty to develop a WebSocket server, you often encounter the need to verify the token. �...

Ultimate consistency in distributed systems: how to apply and how to compensate for data inconsistencies? Ultimate consistency in distributed systems: how to apply and how to compensate for data inconsistencies? Apr 19, 2025 pm 02:24 PM

Exploring the application of ultimate consistency in distributed systems Distributed transaction processing has always been a problem in distributed system architecture. To solve the problem...

How to restrict access to specific interfaces of nested H5 pages through OAuth2.0's scope mechanism? How to restrict access to specific interfaces of nested H5 pages through OAuth2.0's scope mechanism? Apr 19, 2025 pm 02:30 PM

How to use OAuth2.0's access_token to achieve control of interface access permissions? In the application of OAuth2.0, how to ensure that the...

In back-end development, how to distinguish the responsibilities of the service layer and the dao layer? In back-end development, how to distinguish the responsibilities of the service layer and the dao layer? Apr 19, 2025 pm 01:51 PM

Discussing the hierarchical architecture in back-end development. In back-end development, hierarchical architecture is a common design pattern, usually including controller, service and dao three layers...

Why does the Python script not be found when submitting a PyFlink job on YARN? Why does the Python script not be found when submitting a PyFlink job on YARN? Apr 19, 2025 pm 02:06 PM

Analysis of the reason why Python script cannot be found when submitting a PyFlink job on YARN When you try to submit a PyFlink job through YARN, you may encounter...

See all articles