早教吧 育儿知识 作业答案 考试题库 百科 知识分享

java,switch语句中case的疑问我想问:前提事实是:如果没有break,则一直执行后面输出的直到结束。这是事实对吧。对此我有疑问,因为后面的每一个执行,都是以case(某位数)为前提的,如case4

题目详情
java,switch语句中case的疑问
我想问:前提事实是:如果没有break,则一直执行后面输出的直到结束。这是事实对吧。
对此我有疑问,因为后面的每一个执行,都是以case(某位数)为前提的,如case4,则执行4,case5,则执行5。我的理解是:当没有break情况下,既然后面执行的输出与其对应的case情况不吻合,为何还会输出?我的case是3,输出3后,后面的4、5情况不存在,为什么还会执行case4、5的输出?
▼优质解答
答案和解析

也许排版不同会看得更清楚

switch(1){
case 1: sysout("1");
        sysout("1 cont.");
        sysout("1 cont. cont.");
case 2: sysout("2");
}

case 本身不是语句的一部分,他只是标记了一个 “位置” 而已,我个人认为这跟 goto 有类似的地方