Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1019|回复: 0

Java多分支语句switch简介

[复制链接]

该用户从未签到

发表于 2011-9-14 20:52:20 | 显示全部楼层 |阅读模式
switch 语句根据表达式的值来执行多个操作中的一个,它的一般格式如下:
  switch( expression ){
    case value1:
      statement1;
      break;
    case value2:
      statement2;
      break;
    ……
    case valueN:
      statementN;
      break;
    [default:defaultStatement;]
  }
说明:
  (1) 表达式 expression 可以返回任意一个简单类型的值(如整型、实型、字符型),多分支语句把表达式返回的值与每个 case 子句中的值相比。如果匹配成功,则执行该 case 子句后的语句序列。
  (2) case 子句中的值 value 必须是常量,而且必须保证所有 case 子句中的值是不同的。
  (3) default 子句是任选的。当表达式的值与任一 case 子句中的都不匹配时,程序执行 default 后面的语句。如果表达式的值与任一 case 子句中的值都不匹配且没有 default 子句时,则程序不做任何操作而是直接跳出 switch 语句。
  (4) break 语句用来在执行完一个 case 分支后,使程序跳出 switch 语句,即终止 switch 语句的执行。因为 case 子句只是起到一个标号的作用,用来查找执行其后的语句序列,因此在每个 case 分支后,要用 break 来终止后面的 case 分支语句的执行。在一些特殊情况下,多个不同的 case 值要执行一组相同的操作这时可以不用break。
  (5) switch 语句的功能可以用 if…else 来实现,但在某些情况下,使用 switch 语句更简练,可读性强,而且程序的执行效率更高。
【例】switch语句的使用。
public class ConditionSwitch{
   public ConditionSwitch(){
   }
   public static void main(String[] args){
      int x=2;
      switch(x){
         default:
            System.out.println("x is an odd number.");
            break;
         case 2:
         case 4:
         case 6:
         case 8:
            System.out.println("x is an even number.");
            break;
      }
   }
}
编译并运行程序,其输出结果为:
x is an even number.
如果将程序修改为:
public class ConditionSwitch1{
   public ConditionSwitch1(){
   }
   public static void main(String[] args){
      int x=2;
      switch(x){
         default:
            System.out.println("x is an odd number.");
            break;
      }
   }
}
编译并运行程序,其输出结果为:
x is an odd number.
如果将程序中变量x的值置为1,编译并运行程序,其输出结果为:
x is an odd number.
由这个例子我们可以看出:
  (1) 在 switch 语句块中,如果没有 case 语句,程序就执行 default 块中的代码。
  (2) 在 switch 语句块中,如果有 case 语句,但是没有匹配的子句,程序也会接着执行 default 块中的代码。
  (3) 在 switch 语句块中,如果有 case 语句,但是有匹配的子句,程序就不会接着执行 default 块中的代码。
  (4) 以上3条与 default 语句放在 switch 语句块中的位置无关。
回复

使用道具 举报

该用户从未签到

发表于 2011-9-26 12:38:24 | 显示全部楼层
  [s:7]  [s:7]  [s:7]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 19:12 , Processed in 0.333381 second(s), 35 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表