首页 > Java中的一直不能掌握的switch-case语句

Java中的一直不能掌握的switch-case语句

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

对于流程控制中的switch-case语句,一直是我的一个弱项.

每当考试或者面试笔试的时候,总是丈二和尚摸不着头脑,我想这应该是我基础太差的原因吧!

为了彻底解决这个心病,不得不花点功夫了!

首先从原理上来阐述这个问题:

switch(表达式)

{

case 常量表达式1:语句1;

....

case 常量表达式2:语句2;

default:语句;

}

1.default就是如果没有符合的case就执行它,default并不是必须的.

2.case后的语句可以不用大括号.

3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.

4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.



原理归原理,下面是几个容易混淆的例子.

1.标准型(case后面都有break语句)

int i=3;

switch(i)

{

   case 1:

       System.out.println(1);

       break;

   case 2:

       System.out.println(2);

       break;

   case 3:

       System.out.println(3);

       break;

   default:

       System.out.println("default");

       break;

}

输出结果:

         3

2.特殊型1(不是完全有break语句,可以完成一些特殊应用)

int year=2005;

int month=3;

int day;

switch(month)

{

   case 1:

   case 3:

   case 5:

   case 7:

   case 8:

   case 10:

   case 12:

         day=31;

         break;

   case 2:

         day=28;

         break;

   case 4:

   case 6:

   case 9:

   case 11:

          day=30;

          break;

}

这里 day=31;

3.特殊型2(default的位置)

int i=1;

switch(i)

{

   case 1:

       System.out.println(1);

    default:

       System.out.println("default");

   case 2:

       System.out.println(2);

       break;

   case 3:

       System.out.println(3);

       break;

}

输出结果:

         1

         default

         2

转载于:https://my.oschina.net/shareforum/blog/396

更多相关:

  • 事件原由为编辑器的自动缩进,当 case 换行后不自动缩进。 于是在在想可以可否在 case 后面再大括号,让其自动缩进。 查了资料,发现 case 是可以加大括号的,相当于代码块。 而且还有另外一个用途,可以代码块头部定义变量。 如下: 1 switch(ucKeySec) 2 { 3 case 1: 4 { 5...

  • 下面是复习java基础知识的时候,发现的一些点,总结下,备忘 int a=345;switch (a) {case 23:System.out.println("23"); // break;case 345://条件符合,下面的case条件不会在判断,直接执行;System.out.println("345");//...

  • 这部分说一下如何加menu。。如果做小气球。。mfc的menu确是不如C#活着java那么easy..首先在rc里添加menu资源。。然后在ui界面里先设置一下你的菜单。。在第(二)部分已经简单知道了怎么取得tray的鼠标左右点击事件。。下面我们就把左右点击事件分开。。Code 1LRESULT CDesktopDlg::OnNoti...

  • 在AS3中,键盘事件是由KeyboardEvent类来处理的,属于flash.events包里面,有两种类型的键盘事件:KeyboardEvent.KEY_DOWN 和 KeyboardEvent.KEY_UP,对于键的代码获得我们通过keyCode这个属性 其实键盘事件使用起来还是相当方便,下面直接看实例: 建立一个新的AS文件ma...

  • 零(将字符串转化成数字的函数)       int num = atoi(arr);      该函数具有把字符串转化成整型数的作用。 壹(vim显示行号)       Linux终端下直接输入vim   ~/.vimrc,打开是一个空白的页面,然后进入插入模式,直接输入set nu,然后保存并退出,以      后每次  ...

  • windows下 Source Monitor代码度量工具的使用 引用链接: https://www.cnblogs.com/xuehanyu/p/4520965.html 1.总体介绍 SourceMonitor是一款免费的软件,运行在Windows平台下。它可对多种语言写就的代码进行度量,包括C、C++、C#、Java、V...

  •   python基础知识(二)   (二)常用控制流 1、控制语句 分支语句:起到一个分支分流的作用,类似马路上的红绿灯 循环语句:for while 可以使代码不断重复的执行   2、判断语句:关键字是if..elif..else  a、if条件语句后面可以接比较运算、逻辑运算、成员运算;当if后面的语句满足条件,允许的结果是Tru...

  • 1.Python : 是一门解释型 弱类型 高级开发编程语言. 2.第一个Python程序的编写: print ("hell,world") 3.变量:把程序运行过程中的值储存起来,方便后面的程序调用. 4.变量的命名要求: 1,只能是数字或字母或下划线组成; 2,不能是数字开头,也不能全是数字; 3,不能是Python的关键字; 4...

  • 一 程序的三种基本结构              顺序结构:程序从上往下依次执行,这个叫顺序结构         分支结构:有选择的执行或者不执行某段代码         循环结构:重复的执行某段代码 二 分支结构之if 最简单的俩种用法   (tips: if语句后面的大括号可以省略:如果省略:那么这个if语句只能管理离它最近的那...