`

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中间的语句执行
分享到:
评论

相关推荐

    js switch case default 的用法示例介绍

    switch case default的用法应该存在一部分人不会使用吧,其实很简单就是每个case后,一定要加:break;default,就相当于else,不会的朋友可以了解下

    switch语句的妙用(必看篇)

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

    基于C语言实现switch case语句(源码)

    在main函数中,定义了一个字符变量grade,用于存储输入的成绩等级。 使用printf函数提示用户输入成绩等级,并使用scanf函数读取用户输入的成绩等级,存储到变量grade中。...使用break语句终止switch case语句的执行。

    switch函数使用示例

    一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。 switch 语句必须遵循下面的规则: 1.在一个 switch 中可以有任意数量的 case 语句。...

    c语言实现简单日历查询功能

    switch(month) { case 1: return 31;break; case 3: return 31;break; case 4: return 30;break; case 5: return 31;break; case 6: return 30;break; case 7: return 31;break; case 8: return 31;break; ...

    解析c语言switch中break语句的具体作用

    在switch条件选择中,没有了循环控制,break又起什么作用呢? 解决办法:1. switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个...

    switch demo

    switch(command){ case 1: System.out.println("显示全部记录"); break; case 2: System.out.println("查询登录记录"); break; case 0: System.out.println("欢迎使用"); break; ...

    Switch简介及使用实例新手必学.docx

    Switch简介及使用实例 在C语言中,`switch`语句是一种控制结构,用于根据表达式的值选择性地执行多个分支中的一个。这种结构特别适合用于当你有多个可能的整数或枚举值并且你想根据这些值执行不同的代码块时。 ### ...

    Java领域、switch函数详细解析,代码演示,作业帮助,问答咨询~

    如果没有 break,会继续执行下一个 case,直到遇到 break 或者 switch 结束。 注意事项: switch 中的表达式必须是整数、字符或枚举类型。 每个 case 中的值必须是常量或字面量,不能是变量。 case 的值不能重复,...

    51单片机C语言应用程序实例精讲.rar

    大量单片机程序和例程可以开发学习#include "7LEDShow.h" void main() { DIGPORT = 0; // 关闭显示 TMOD = 0x01; // T0工作方式1 /* 2ms 定时设置 */ time0_tmp = 65536-time0*fosc/12; TH0 = ...

    本资源使用 C 语言中 switch 语句作为示例代码,它根据用户输入的数字打印相应的星期天

    在 C 语言中,switch 是一个关键字,用于控制流程的分支。它通常与 case、default 关键字一起使用,用于...通过示例及注释详细说明了C语言中switch关键字的使用方法,可以深入的了解并熟练的使用C语言中的switch关键字

    初级C语言教案 auto break case char const

    里面介绍的 很详细auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void ...

    js中switch语句的学习笔记

    switch 语句用于基于不同条件执行不同动作。 语法格式如下: switch(表达式) { case n: 代码块 break; case n: 代码块 break; default: 默认代码块 } 代码解释: 计算一次 switch 表达式; 把表达式的值与...

    根据用户输出的数字输出以下成语

    switch(a) { case 1: b = "一帆风顺"; break; case 2: b = "二龙戏珠"; break; case 3: b = "三阳开泰"; break; case 4: b = "四平八稳"; break; case 5: b = "五福临门"; break; case 6: b = "六六...

    JavaScript switch case 的用法实例[范围]

    几个例子: 代码如下: function case1(num){ switch(num){ case 1: [removed]ln(“show 1!!”); break; case 2: [removed]ln(“show 2!!”); break; case 3: [removed]ln(“show 3!!”); break; default: [removed]...

    switch.docx `switch`语句是C++中的一种流程控制语句,通常用于根据表达式的值选择执行不同的代码块 下面是`

    switch `switch`语句是C++中的一种流程控制语句,通常用于根据表达式的值选择执行不同的代码块。下面是`switch`语句的基本结构: ```cpp switch (expression) { case value1: // 当 expression 等于 value1 时...

    php switch语句多个值匹配同一代码块应用示例

    先说说switch()语句的格式 ...仅当一个 case 语句中的值和 switch 表达式的值匹配时 PHP 才开始执行语句,直到 switch 的程序段结束或者遇到第一个 break 语句为止。如果不在 case 的语句段最后写上 bre

    C#读取JPEG图片的Exif信息

    /// This is default constructor of the EXIF class. /// public EXIF() { } /// /// This is base constructor of the EXIF class. /// public EXIF(string filePath) { _picture = Image.From...

Global site tag (gtag.js) - Google Analytics