`
jinyanliang
  • 浏览: 303902 次
  • 性别: Icon_minigender_1
  • 来自: 河南开封
社区版块
存档分类
最新评论

Java switch-case语句用法

阅读更多
对于流程控制中的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
分享到:
评论
3 楼 我是云 2013-03-11  
zjuttsw 写道
zjuttsw 写道
楼主最后两个例子很好。学习了

不过第三条好像说错了。除了基本类型char,byte,short,int之外,还可以接受Stringenum类型的参数。

现在java 7是可以接受String了
2 楼 zjuttsw 2013-01-09  
zjuttsw 写道
楼主最后两个例子很好。学习了

不过第三条好像说错了。除了基本类型char,byte,short,int之外,还可以接受Stringenum类型的参数。
1 楼 zjuttsw 2013-01-09  
楼主最后两个例子很好。学习了

相关推荐

    Java语言学习教程大纲及实例

    - 控制结构:if-else语句、switch-case语句、循环(for, while, do-while) - 函数定义(方法声明与调用) - 类与对象的概念与创建 - 构造函数与初始化 - 访问修饰符(public, private, protected, default) 3...

    有关switch语句的案例

    该案例是我在java教材上抄的,用于演示switch语句的用法,其介绍了switch语句的基本用法,常用于选择有限的某个项目的编写,将各个情况列出像case 1, case 2等等,每个case后再加一个break;用于退出该switch语句。...

    Java中Switch用法代码示例

    主要介绍了Java中Switch用法代码示例,向大家分享了两段代码,具有一定参考价值,需要的朋友可以了解下。

    IOS Swift基础之switch用法详解

    Swift中switch的case语句中不需要添加break Swift中需要考虑所有情况,default是必要的。 case分支可以添加多个条件,用,分割 case不局限与常量,可以使使用范围 switch里可以使用元组 switch默认不需要添加break,...

    java语言编程规范

    在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。 12 3.*较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,...

    GWT-AppNavigation-Project:GWT项目示例显示了如何在不同视图之间导航。-开源

    在此GWT-Example-Project中,我在java方法中使用了switch-case语句,以根据用户状态更改页面上的内容。 该应用程序有三种不同的视图。 一个loginview,一个选择数据库并打开它的视图以及应用程序的主视图。

    JAVA阶段模拟试题

    1给定如下Java程序,编译运行时,将在()出现错误。(选一项) public class Test{ public static void main(String[]args){ ...C终止switch语句的语句序列,提高switch-case语句性能 D退出循环

    Java程序设计基础:switch选择结构.pptx

    switch选择结构 ...解决方法:使用多重if选择分支结构实现 使用switch选择结构 语法格式: switch 选择结构的语法 计算表达式的值 语句序列1; break; 语句序列2; break; switch(表达式){ case 常量1: cas

    videostore:Bob叔叔的视频商店重构示例

    用多态调度程序替换Switch语句应该使用多态派发来删除switch语句,以最大程度地减少case语句中存在的代码的影响。初赛git co -b remove-switch-stmt origin / remove-switch-stmt1.子类化Movie类的确定方法取决于...

    java面试800题

    Q0032 Oracle的集合操作函数,如sum(),avg(),max(),min(),与select,where,grouby,having的先后顺序,使用方法 Oracle集合查询基本知识,只有进行分组的列,才可以取在集合查询SQL语句中取字段,先Group By,再Having...

    JAVA面试题最全集

    被声明为final的方法也同样只能使用,不能重载 finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 ...

    java程序设计选择题题库182道

    《java程序设计》课程的题库资料,由贺州学院整理,可供学生期末课程复习使用,也可以供相关任课教师出卷使用。 内容示例为: 103. 用于设置组件大小的方法是( )。 A.paint() B.setSize() C.getSize() D....

    java 面试题 总结

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法...

    第一章程序设计基础知识板块第一节内容

    6 Java 中所有程序都使用方法,应用程序以_______方法开始 7 Java源文件中有多个类,但只能有一个类是_________类 8 Java源程序编译后生成的字节码文件扩展名为___________ 9 用来标识类名、变量名、方法名、类型名...

    java技术教程基础篇源代码

    //下面用switch语句判断输入的字符 switch(ch){ case '!'://输入'!'则用for循环计算n! int fac=1; for(int i=10;i>1;i--) { fac*=i; } System.out.println(n+"! = "+fac);//输出n!值 ...

    整理后java开发全套达内学习笔记(含练习)

    switch (关键字) 选择语句。 n.开关,道岔 [switʃ] synchronized (关键字) 同步(锁) ['siŋkrәnaiz] Thread [java] 线程 [θred] throw (关键字) throws (关键字) [θrәu] 抛出(异常) transient (关键字) 瞬变;...

    Java开发技术大全 电子版

    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程序文本的风格...

    枚举(switch、覆盖枚举、实现接口等)

    JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void ...

    Java笔试题大汇总

    多分支语句把表达式返回的值依次与每个case子句中的值相比较,如果遇到匹配的值,则执行该case子句后的语句序列。 4 下列叙述中,错误的是__D____。 A、父类不能替代子类 B、子类能够替代父类 C、子类继承父类 D、...

Global site tag (gtag.js) - Google Analytics