1.switch 语句

语法:

switch(expression)
{
case value1 : statement1;
break;
case value2 : statement2;
break;
case value3 : statement3;
break;
default: statement4;
}

注意:

  • expression必须是byte、short、int、char类型的,value必须与expression类型兼容的一个常量,而且不能重复。
  • 一定不要望了每个判断后添加break,否则计算机回默认执行为真后面所有的statement;
  • default语句可以出现在任意位置;statement、break、default都可以不写。

2.switch无break

int a=2;
switch(a)
{
case 1 :System.out.println(1);
case 2 : System.out.println(2);
case 3 :System.out.println(3);
break;
default:System.out.println(4);
}

运行结果:

2
3

代码解析:case 2 语句后没有break,程序继续向下执行,遇到case 3 语句后的break结束switch语句,故default语句不会执行。

4.case后无statement语句

public class sd {
public static void main(String[] args) {
int month=2;
switch(month)
{
case 12 :
case 1 :
case 2 :
System.out.println("冬季");
break;
case 3 :
case 4 :
case 5 :
System.out.println("春季");
break;
case 6 :
case 7 :
case 8 :
System.out.println("夏季");
break;
case 9 :
case 10 :
case 11 :
System.out.println("秋季");
break;
default:System.out.println("输入错误");
}
}
}

5.default 不在末尾

public class A {
public static void main(String[] args) {
int a=2;
switch(a)
{
default: System.out.println("no");
case 0: System.out.println(0);
case 1: System.out.println(1);
}
} }

运行结果:

no
0
1
public class A {
public static void main(String[] args) {
int a=0;
switch(a)
{
default: System.out.println("no");
case 0: System.out.println(0);
case 1: System.out.println(1);
}
} }

运行结果:

0
1

switch 语句的执行逻辑:先找experssion对应的value值,如果存在执行对应语句向下执行直到遇到break;如果不存在则执行default语句再向下执行,遇到break停止。

最新文章

  1. hdu 1410
  2. [IOS 开发] 自定义(重写) UITableViewCell的高亮背景色
  3. mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)
  4. CSS伪类与CSS伪元素的区别及由来
  5. git 学习笔记7--branch
  6. lintcode:合并区间
  7. android系统中使用TelephonyManager类来获取imei号和其他手机信息
  8. 【斜率DP】bzoj1597: [Usaco2008 Mar]土地购买
  9. Scala 编程(二)类和对象
  10. 转载:CPU的位数和操作系统的位数
  11. 如何通过shell脚本操作MongoDB
  12. centos安装rabbitmq
  13. 前端笔记之JavaScript面向对象(二)内置构造函数&相关方法|属性|运算符&继承&面向对象
  14. js实现八皇后,回溯法
  15. 个人认为一个比较完整,基于tp5平台,可快速开发的B2C平台
  16. EDF转TXT,EDF转mat,rec转TXT eeg
  17. 对tomcat7模拟并发请求及相关配置参数的含义
  18. 学习Selenium的历程
  19. BJOI2019 题解
  20. eclipse maven jar工程导出项目依赖的jar包

热门文章

  1. HashMap实现详解 基于JDK1.8
  2. 安装node,vue编译环境
  3. TCP UDP协议的三次握手
  4. 吐血推荐珍藏的IDEA插件
  5. WTL对话框添加背景图片
  6. Features for Multi-Target Multi-Camera Tracking and Re-identification论文解读
  7. mongodb 常用操作命令
  8. Spring——管理Bean的生命周期
  9. docker device or resource busy
  10. k8s系列---yaml文件格式