Switch语句的case穿透
Switch语句的case穿透
一 switch语句几点说明:
1. case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的.
2.case后面表达式可以接受:
基本数据类型,byte,short,char,int.换句话说能自动类型自动提升为int的都可以接受;
引用数据类型可以接受枚举(JDK1.5),String字符串(JDK1.7)
3.default不是一定要放到最后,放到中间也不会先执行它,首先匹配case,匹配不到case才会执行default,
可以在任意位置。但是建议在最后。(default最后执行)
4.switch语句的结束条件
遇到break就结束了
执行到switch的右大括号就结束了
二 举例说明
例1:看程序写结果:
int x = 2;
int y = 3;
switch(x){
default:
y++;
case 3:
y++;
case 4:
y++;
break;
case 5:
y++;
}
System.out.println("y = " + y);
解答过程
x值先和case按顺序依次匹配,x=2没匹配的case,最后走了default:y++(y自增1),然后没有
遇到break或右大括号,不跳出switch语句,继续向下执行,遇到下面的case相当于不再进行判断了,
遇到break或右大括号就跳出switch语句
结果是:y = 6
例2代码练习
用switch语句键盘录入月份,输出对应的季节
import java.util.Scanner;
class sw23 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
int month = sc.nextInt(); //将键盘录入结果存储在month
switch (month) {
case 3:
case 4:
case 5:
System.out.println(month + "月是春季");
break;
case 6:
case 7:
case 8:
System.out.println(month + "月是夏季");
break;
case 9:
case 10:
case 11:
System.out.println(month + "月是秋季");
break;
case 12:
case 1:
case 2:
System.out.println(month + "月是冬季");
break;
default:
System.out.println("对不起没有对应的季节");
break;//可加可不加
}
}
}
Switch语句的case穿透的更多相关文章
- switch表达式、case穿透
记得第一次学switch的时候那是还是学习c语言的时候,整体的写if-else,switch,现在回想起来已经是很多年前的事了,好了今天让我们再来回顾下简单的switch 语法 switch(n) { ...
- java基础:switch语句应用,循环的详细介绍以及使用,附练习案列
1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) { case 1: 语句体1; break; case 2: 语句体2; break; ... default ...
- 原生js switch语句
一.我们在流判断的时候,我们大多数的情况我使用if else 语句.但是对于一些大量的逻辑的判断的时候,我们不建议使用if elseif语句 这种语句的效率执行不高,因为他每个expression ...
- Java学习之分支结构---判断语句:if语句和switch语句
一个if语句包含一个布尔表达式和一条或多条语句,if 语句的用语法如下:if 语句 if(布尔表达式) { //如果布尔表达式为true将执行的语句 },如果布尔表达式的值为 true,则执行 if ...
- C# switch语句的使用
1 今天我们来学习switch 语句的使用,switch 语句和if else 类似 switch 语句主要的作用是用于来判断在规定条件下 根据你的选择来执行switch 语句下面case :的 ...
- JS基础_条件分支语句:switch语句
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 选择结构-穿透的switch语句和循环结构-循环概述
case的穿透性 在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束 publi ...
- (转)android import library switch语句报错case expressions must be constant expressions
今天当我从github上下载一个工程,并把它的库文件导入eclipse中,发现switch语句报错case expressions must be constant expressions : 解决方 ...
- 在switch中的case语句中声明变量编译出错的解决方案
在switch中的case语句中声明变量编译的问题 先来看段代码,别管什么意思: : , j = ; ; i < ; i++) recive_phone[i] = msgbuf.text[i]; ...
随机推荐
- 完整的PHP MYSQL数据库类
<?php class mysql { private $db_host; //数据库主机 private $db_user; //数据库用户名 private $db_ ...
- Put-Me-Down项目Postmortem2
一.设想和目标 二.计划 三.资源 四.变更管理 五.设计/实现 六.测试/发布 总结 一.设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的 ...
- IE 8 下的 box-sizing 和 min-* 属性
在非 IE 浏览器中,默认情况下 width 属性指的是内容区域(content)的宽度. IE 6+ 中,如果浏览器以标准模型渲染,和非 IE 浏览器的表现是一致的:如果浏览器以怪癖模式渲染,则 w ...
- 帝国CMS视频
http://list.youku.com/albumlist/show?id=17602333&ascending=1.html
- sublime text install packages报错
汉化版的sublime text安装软件包的时候报错如下: There are no packages available for install 打开控制台,ctrl+~,然后看到如下错误: Pac ...
- Python 开发轻量级爬虫08
Python 开发轻量级爬虫 (imooc总结08--爬虫实例--分析目标) 怎么开发一个爬虫?开发一个爬虫包含哪些步骤呢? 1.确定要抓取得目标,即抓取哪些网站的哪些网页的哪部分数据. 本实例确定抓 ...
- java ArrayList 实现
关于ArrayList的实现和原理,原文出处:http://www.cnblogs.com/ITtangtang/p/3948555.html 我觉得他写的非常好,真的很好. 做一个记录和总结吧 pu ...
- php总结二篇
PHP的网站主要攻击方式: 1.命令注入(Command Injection) 2.eval注入(Eval Injection) 3.客户端脚本攻击(Script Insertion) 4.跨网站脚本 ...
- 【转载】 删除Win10“这台电脑”中的6个文件夹
转载地址:http://www.myxzy.com/post-431.html Windows 8.1/windows 10对比windows 7都有一个变化,打开“这台电脑”(或“我的电脑”)后,“ ...
- 为什么在soui中加载JPG文件失败
在SOUI中解决解码器是一个独立的模块.不同的解码器决定了程序中能够加载什么样的图片类型.使用SComMgr来加载SOUI的模块时,debug模式下默认的图片解码器是imgdecoder-png.这个 ...