对于流程控制中的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
分享到:
相关推荐
- 控制结构:if-else语句、switch-case语句、循环(for, while, do-while) - 函数定义(方法声明与调用) - 类与对象的概念与创建 - 构造函数与初始化 - 访问修饰符(public, private, protected, default) 3...
该案例是我在java教材上抄的,用于演示switch语句的用法,其介绍了switch语句的基本用法,常用于选择有限的某个项目的编写,将各个情况列出像case 1, case 2等等,每个case后再加一个break;用于退出该switch语句。...
主要介绍了Java中Switch用法代码示例,向大家分享了两段代码,具有一定参考价值,需要的朋友可以了解下。
Swift中switch的case语句中不需要添加break Swift中需要考虑所有情况,default是必要的。 case分支可以添加多个条件,用,分割 case不局限与常量,可以使使用范围 switch里可以使用元组 switch默认不需要添加break,...
在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。 12 3.*较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,...
在此GWT-Example-Project中,我在java方法中使用了switch-case语句,以根据用户状态更改页面上的内容。 该应用程序有三种不同的视图。 一个loginview,一个选择数据库并打开它的视图以及应用程序的主视图。
1给定如下Java程序,编译运行时,将在()出现错误。(选一项) public class Test{ public static void main(String[]args){ ...C终止switch语句的语句序列,提高switch-case语句性能 D退出循环
switch选择结构 ...解决方法:使用多重if选择分支结构实现 使用switch选择结构 语法格式: switch 选择结构的语法 计算表达式的值 语句序列1; break; 语句序列2; break; switch(表达式){ case 常量1: cas
用多态调度程序替换Switch语句应该使用多态派发来删除switch语句,以最大程度地减少case语句中存在的代码的影响。初赛git co -b remove-switch-stmt origin / remove-switch-stmt1.子类化Movie类的确定方法取决于...
Q0032 Oracle的集合操作函数,如sum(),avg(),max(),min(),与select,where,grouby,having的先后顺序,使用方法 Oracle集合查询基本知识,只有进行分组的列,才可以取在集合查询SQL语句中取字段,先Group By,再Having...
被声明为final的方法也同样只能使用,不能重载 finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 ...
《java程序设计》课程的题库资料,由贺州学院整理,可供学生期末课程复习使用,也可以供相关任课教师出卷使用。 内容示例为: 103. 用于设置组件大小的方法是( )。 A.paint() B.setSize() C.getSize() D....
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法...
6 Java 中所有程序都使用方法,应用程序以_______方法开始 7 Java源文件中有多个类,但只能有一个类是_________类 8 Java源程序编译后生成的字节码文件扩展名为___________ 9 用来标识类名、变量名、方法名、类型名...
//下面用switch语句判断输入的字符 switch(ch){ case '!'://输入'!'则用for循环计算n! int fac=1; for(int i=10;i>1;i--) { fac*=i; } System.out.println(n+"! = "+fac);//输出n!值 ...
switch (关键字) 选择语句。 n.开关,道岔 [switʃ] synchronized (关键字) 同步(锁) ['siŋkrәnaiz] Thread [java] 线程 [θred] throw (关键字) throws (关键字) [θrәu] 抛出(异常) transient (关键字) 瞬变;...
2.5.5多路分支switch~case语句69 2.5.6当型循环while语句71 2.5.7直到型循环do~while语句72 2.5.8当型循环for语句74 2.5.9循环的嵌套78 2.5.10跳转语句break80 2.5.11跳转语句continue82 2.6程序文本的风格...
JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void ...
多分支语句把表达式返回的值依次与每个case子句中的值相比较,如果遇到匹配的值,则执行该case子句后的语句序列。 4 下列叙述中,错误的是__D____。 A、父类不能替代子类 B、子类能够替代父类 C、子类继承父类 D、...