`

Switch case相关介绍以和没有break及default位置乱放情况分析

    博客分类:
  • Java
 
阅读更多
关于java中switch使用的一些说明
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
default就是如果没有符合的case就执行它,default并不是必须的.
case后的语句可以不用大括号.
switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
如果使用long类型的话编译时会有错误产生,这点在使用上要注意,其他的数据类型都不行。
简单地说就是能够自动转换程int类型的数据类型才行
而case是指switch小括号中的变量会出现且你想要处理的值,它除了可以是个整数、字符之外,还可以是一些简单的算术表达式,不过算数表达式的结果要满足刚刚所说的四种数据类型。一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句
1.package flowcontrol;   
2.  
3.public class SwitchCase {   
4.    // first default   
5.    public static void testFirst(int i) {   
6.        switch (i) {   
7.        default:   
8.            System.out.println("default");// first default   
9.        case 1:   
10.            System.out.println("one");   
11.        case 2:   
12.            System.out.println("two");   
13.        case 3:   
14.            System.out.println("there");   
15.        }   
16.    }   
17.  
18.    // last default   
19.    public static void testLast(int i) {   
20.        switch (i) {   
21.        case 1:   
22.            System.out.println("one");   
23.        case 2:   
24.            System.out.println("two");   
25.        case 3:   
26.            System.out.println("there");   
27.        default:   
28.            System.out.println("default");// last default   
29.        }   
30.    }   
31.  
32.    // middle default   
33.    public static void testMiddle(int i) {   
34.        switch (i) {   
35.        case 1:   
36.            System.out.println("one");   
37.        case 2:   
38.            System.out.println("two");   
39.        default:   
40.            System.out.println("default");// middle default   
41.        case 3:   
42.            System.out.println("there");   
43.  
44.        }   
45.    }   
46.  
47.    public static void main(String[] args) {   
48.        // first default   
49.        testFirst(2);   
50.        System.out.println("------------------");   
51.        testFirst(9);   
52.  
53.        System.out.println("|||||||||||||||||||||||||||||||||||");   
54.  
55.        // last default   
56.        testLast(2);   
57.        System.out.println("----------------");   
58.        testLast(9);   
59.  
60.        System.out.println("|||||||||||||||||||||||||||||||||||");   
61.        // middle default   
62.        testMiddle(2);   
63.        System.out.println("----------------");   
64.        testMiddle(9);   
65.  
66.    }   
67.  
68.}  
输入结果:
1.two   
2.there   
3.------------------   
4.default  
5.one   
6.two   
7.there   
8.|||||||||||||||||||||||||||||||||||   
9.two   
10.there   
11.default  
12.----------------   
13.default  
14.|||||||||||||||||||||||||||||||||||   
15.two   
16.default  
17.there   
18.----------------   
19.default  
20.there

看了结果,可以这样理解:
(1)switch语句关键地方是进入点,有了进入点没有break的情况下会执行到底
(2)没有匹配值的时候default就是进入点,进入default以后会和普通进入点一样,如果没有break继续执行下面语句
(3)如果有break 则是从进入点到 break中间的语句执行
分享到:
评论

相关推荐

    switch+case语句例子成绩

    如果没有匹配的 `case`,则执行 `default` 代码块(可选)。 在描述中的例子中,`switch` 语句的 `expression` 是 `score / 10`,其中 `score` 是学生的分数(假设为整数,范围在 0-100)。通过除以 10,我们可以...

    switch、case、break语句的简单应用

    - `default`子句可以放在`switch`结构的任何位置,但通常放在最后,以防遗漏。 以下是一个简单的`switch`语句示例: ```c #include int main() { int day = 3; switch(day) { case 1: printf("Monday\n"); ...

    Java switch case 语句.docx

    - 示例2和3展示了没有break的情况,即使匹配成功,也会继续执行后续的case,直到遇到break或switch的结尾。 9. **注意事项**: - 虽然连续case可以简化代码,但过多的无break case可能导致意外的代码执行路径,...

    switch语句&break关键字&default关键字.pdf

    以上示例中,我们使用了switch语句来处理不同的输入情况,使用break关键字来确保每次只执行一个case分支,避免了case穿透问题,使用default关键字来处理不匹配的意外情况。通过这些示例,我们可以看到switch语句在...

    C++switch goto break for 循环 教程与实例

    下面将详细介绍 C++ 中的 switch 语句、goto 语句、break 语句、for 循环语句等控制语句。 一、switch 语句 switch 语句是一种选择结构语句,用于根据不同的值执行不同的语句。其基本形式为: ```cpp switch (整型...

    js switch case default 的用法示例介绍

    在本例中,我们将深入探讨`switch`、`case`和`default`的用法,并通过示例来帮助理解。 首先,让我们了解`switch`的基本结构: ```javascript switch (expression) { case value1: // code block to be executed...

    switch case.docx

    如果没有匹配的 `case`,则执行 `default` 后的代码块,`default` 是可选的。 回到我们的学生成绩例子,`grade` 变量被赋值为 `'A'`,代表学生的成绩等级。`switch(grade)` 会检查 `grade` 的值,然后执行相应的 `...

    Arduino项目开发 Control_switchCase2_switchCase2.pdf

    在给定的文件 `Control_switchCase2_switchCase2.pdf` 中,示例代码展示了如何使用 `switch` 语句处理串行输入,并通过控制 LED 的亮灭来响应不同字符。以下是对这个知识点的详细解释: 首先,`switch` 语句通常...

    c语言switch case语句.docx 代码

    C语言中的`switch`和`case`语句是控制流程的一部分,它们提供了多路选择的结构,使得程序可以根据不同的条件执行不同的代码块。在C语言中,`switch`语句通常用于替代一系列的`if...else if...else`语句,以实现更...

    计算机二级C语言考点18switch-case语句.pdf

    如前所述,C语言的switch-case默认具有“穿透”特性,即如果没有break,会继续执行下一个case的代码,直到遇到break或switch结构结束。 7. 变量在case后的声明: 在某些实现中,允许在case后面声明新的变量,但这...

    java中switch case语句需要加入break的原因解析

    在上面的示例代码中,我们可以看到,如果不加入break语句,传入的参数为1时,输出结果将是1、2、3和default,这是因为switch语句会继续执行下一个case语句,直到遇到break语句或switch语句的结尾。同样,如果传入的...

    C#051break和switch今天星期几

    在C#编程语言中,`break` 和 `switch` 是两个关键的控制流程语句,它们在编写逻辑和控制程序执行路径时起着至关重要的作用。让我们深入了解一下这两个概念及其在实际开发中的应用。 首先,`switch` 语句是C#中用...

    switch语句的妙用(必看篇)

    这里a和case列表中从上而下逐一做比较,如果匹配就执行case中的代码,若有break则跳出,无break则继续往下匹配,直到新的匹配和break或switch代码块结束。 注意: a和case值的匹配算法是执行严格相等比较的(‘===’...

    多重选择:switch和break.7z

    标题中的“多重选择:switch和break”指的是在编程语言中,特别是C/C++或类似的语法结构中,用于实现多路分支选择的结构——`switch`语句和`break`关键字。`switch`语句允许根据不同的条件执行不同的代码块,而`...

    c 语言 switch 语句学习

    - 如果没有任何 `break` 语句,那么程序将从第一个匹配的 `case` 开始一直执行到最后一个 `case` 或 `default` 子句,这称为“穿透”行为。 #### 三、Switch 语句的执行流程 1. **无 Break 的情况:** - 当 ...

    switch语句

    如果`colorCode`的值没有匹配到任何一个`case`,则会执行`default`的代码。 在`js_switch语句练习`这个练习文件中,你可能会发现更多关于`switch`语句的实践案例,包括不同类型的比较、复合表达式的使用以及如何...

    C语言程序设计(第2版)-2期 经验技巧4-2 switch语句中default的书写位置.pdf

    总结一下,`switch`语句中的`default`可以出现在任何位置,但为了避免代码混乱和不必要的执行,通常将其放在最后。`default`后的`break`是可选的,但根据需要应谨慎使用,以确保代码的正确流程。理解这些细节对于...

    PHP程序设计-3期(KC016) 2.6.1条件控制switch-case常见问题.docx

    确保在`switch-case`结构中包含`default`,以防遗漏某些情况。 问题5:不知道`if-else`与`switch-case`的区别 `if-else`和`switch-case`都是条件控制结构,但它们在适用场景上有所不同。`if-else`适用于任意类型的...

    C语言switch语句学习教案.pptx

    * 在 switch 语句中,如果没有 break 语句,程序将继续执行到下一个 case 语句。 * 如果没有 default 语句,程序将执行到结束。 * 在 switch 语句中,各个 case 语句的顺序并不影响执行结果。 switch 语句的优点:...

Global site tag (gtag.js) - Google Analytics