java - 无法理解它是如何工作的 case MONDAY : FRIDAY:

标签 java switch-statement

import java.time.LocalDate;
import static java.time.DayOfWeek.*;
public class Test 
{
    public static void main(String[] args) 
    {
        var today=LocalDate.now().with(WEDNESDAY).getDayOfWeek();
        switch(today)
        {
            case SUNDAY:
            case SATURDAY:
                System.out.println("Enjoy");
                break;
            case MONDAY : FRIDAY:
                System.out.println("Boaring");
            default:
                System.out.println("QuestionMark");
        }       
    }
}

它是如何工作的。任何人都可以帮忙。尤其是这句话让我心烦意乱:

case MONDAY : FRIDAY:

最佳答案

这看起来像是一个严重的语法滥用案例。在这种特殊情况下,case MONDAY: 执行了我认为您所期望的操作。

但是,FRIDAY: 与 switch block 毫无关系。这是Java label附加到以下 println 语句中,并且由于从未引用过它,因此除了造成严重困惑之外,它没有任何意义。

注意:切勿使用标签。有更清晰的方式来表达您的想法。

关于java - 无法理解它是如何工作的 case MONDAY : FRIDAY:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56413259/

相关文章:

java - 在java中切换类型

c - 错误: 'for' loop declarations only in c99 mode

c# - 具有 boolean 值的开关盒的奇怪行为

用于调用 SOAP - Web 服务的 Java 类

java - 我的应用程序如何检测客户端过早断开连接?

java - 在什么情况下 CLOCK_MONOTONIC 可能不可用

C# Switch 语句重构

c++ - 有没有办法让开关检查2个参数?

java - Eclipse RCP 4.x - 定义工作区位置

java - 如何确保传递给方法的集契约(Contract)步?