switch语句

根据switch(表达式)跳转到匹配的case结果,继续执行case结果: 的后续语句,遇到break结束执行,没有匹配条件,执行default语句。

        int i = 3
switch (i){
case 1:
System.out.println("武林盟主");
break;
case 2:
System.out.println("少林方丈");
break;
case 3:
System.out.println("华山掌门");
break;
default:
System.out.println("峨眉掌门");
}

* switch语句相当于一组if else 语句,执行的总是相等的判断。
* switch语句没有花括号,是以 ":" 开头的
* case语句具有穿透性,如果没有break会继续执行
```#java
//switch的穿透性
Scanner s = new Scanner(System.in);
System.out.print("请输入名次:");
int option = s.nextInt();
switch (option){
case 1:
System.out.println("武林盟主");
break;
case 2:
System.out.println("少林方丈");
break;
case 3:
System.out.println("华山掌门");
default:
System.out.println("峨眉掌门");
}
```

  • 如果有几种情况需要执行相同的语句
public class Hello {
public static void test(int option) {
switch (option) {
case 1:
System.out.println("武林盟主");
break;
//case2和case3执行相同的操作
case 2:
case 3:
System.out.println("华山掌门");
break;
default:
System.out.println("峨眉掌门");
}
}
public static void main(String[] args){
test(2);
test(3);
}
}

除了整型,还可以使用字符串匹配,字符串比较内容相等

总结:

  • switch语句可以做多重选择
  • switch的计算结果必须是整型、字符串或枚举类型
  • 不要漏泄break,打开fall-through警告
  • 总是写上default,建议打开missing default警告
  • 尽量少用switch语句

廖雪峰Java1-3流程控制-4switch多重选择的更多相关文章

  1. JavaScrip流程控制之switch选择,for循环

    swith根据表达式的值来case ,break执行跳转语句 <!DOCTYPE html> <html lang="en"> <head> & ...

  2. 【java从入门到精通】day10-Java流程控制2-switch多选择结构

    1.switch多选择结构 switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch语句中的变量类型可以是: byte.short.int或者char 从j ...

  3. Java流程控制04——Switch选择结构

    switch 多选择结构 switch case 语句判断一个变量与一系列值中某个值是否相等,每个支撑位一个分支. switch语句中的变量类型可以是: byte short int 或者 char ...

  4. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  5. python学习笔记---流程控制

    二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...

  6. 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构

    035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条 ...

  7. 廖雪峰Python电子书总结

    函数 1.注意:函数的默认参数必须指向不可变对象 未修改前: def add_end(L=[]): L.append('END') return L 存在的问题:如果连续调用多次,会出现多个 'END ...

  8. 到头来还是逃不过Java - 流程控制

    流程控制 没有特殊说明,我的所有这个系列的Java13的笔记都是从廖老师那里摘抄.总结过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要 ...

  9. [Java入门笔记] Java语言基础(四):流程控制

    流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步顺序执行.中间没有任何的判断和跳转. 分支结构 Java提供两种分支结构: ...

随机推荐

  1. hdu1695 GCD 容斥原理

    Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD(x, y) = k. GCD(x, y) ...

  2. 怎样去掉wordpress中默认的未分类目录

    默认的是不能删除的,要删除未分类,需要将默认的分类目录设置为其他 具体设置方法为:后台-设置-撰写,将撰写设置下面的默认链接分类目录设置为其他的,点击下面的保存更改,然后就可以删除默认的未分类目录了.

  3. buckaroo 试用

    我系统是mac 所以选择的是mac 的版本,官方是支持跨平台的. 安装 mac 版本安装 wget https://github.com/LoopPerfect/buckaroo/releases/d ...

  4. Be Careful When Using Bit Field

    Below illustration is based on MSP430, IAR. See the implementation below. typedef struct { uint8_t g ...

  5. IBM WebSphere MQ介绍安装以及配置服务详解

    首先介绍一下MQ MQ消息队列的简称是一种应用程序对应用程序的通信方法.说白了也就是通过队列的方式来对应用程序进行数据通信.而无需专用链接来链接它们. MQ的通讯方式 1.数据报的方式 Datagra ...

  6. RTP RTCP RTSP

    1.RTP  over UDP和RTP over RTSP有什么区别?2.RTP over RTSP是不是就是RTP over TCP?3.RTP over TCP 打包视频是不是要加4个字节的头,是 ...

  7. Git上传空文件夹的方法

    之前发现很多项目文件夹下又.gitkeep文件,不知道它的用处. 直到前段时间遇到一个问题,Git如何上传空文件夹? 默认情况下,Git不会上传本地空文件夹,如果有些特殊场合需要的话,一个简单的方法是 ...

  8. kubernetes 中,Pod、Deployment、ReplicaSet、Service 之间关系分析

    deploy控制RS,RS控制Pod,这一整套,向外提供稳定可靠的Service. 详见:https://blog.csdn.net/ucsheep/article/details/81781509

  9. sql语句实战

    1,排名,自身连接,用count,去重用distinct 2,累加,和上面一样,自身连接,用sum 3,count函数不用group by只有一组

  10. OpenGL纹理

    如果不用头文件,把所有东西堆在同一个cpp文件中,会出现“超出GPU内存的错误!” 1 //我们自己的着色器类 #ifndef SHADER_H #define SHADER_H #include & ...