C#、JAVA中的switch结构

在这篇文章,我们要讨论JAVA和C#中switch语句的区别。

在JAVA中,switch结构可以很好的解决等值判断问题,举个例子

Code:
  1. import java.util.Scanner;   
  2.   
  3. public class demo   
  4. {   
  5.            public static void main(String args [])   
  6.           {   
  7.                          Scanner input = new Scanner(System.in);   
  8.   
  9.                          System.out.println("请输入令狐冲的名次:");   
  10.   
  11.                          int mingci = input.nextInt();   
  12.   
  13.                          switch(mingci)   
  14.                         {   
  15.                                      case 1:   
  16.                                                  System.out.println("我是第一名");   
  17.                                                  break;   
  18.                                      case 2:   
  19.                                                   System.out.println("我是第二名");   
  20.                                                   break;   
  21.                                       default:   
  22.                                                   System.out.println("其他");   
  23.                                                    break;   
  24.                         }   
  25.           }   
  26. }  

在JAVA中的switch结构,只能做整型数值或字符类型的等值判断。

值的注意的是break关键字的用法,在程序中,若碰到break则跳出该结构。

那么它的执行过程是怎么样的呢?

首先计算switch后面小括号里的整型数值或者字符类型,然后将计算结构跟每个case后的常量比较,当遇到二者相等的情况下,执行case块中的语句,遇到break时就跳出switch结构,执行switch结构后的语句。如果没有任何一个case后的常量跟小括号中的值相等,则执行default语句块中的语句。若将上面程序中的break关键字都去掉,若输入1的话,运行的结果是:

我是第一名

我是第二名

其他

因为没有了break关键字,输入了1,会执行case 1:后面的语句,然后一直向下执行switch结构中的语句。

但是在C#中,要求每个case块和default块都必须有break语句,除非两个case语句块中间没有其他语句.示例如下:

Code:
  1. Class Demo   
  2. {   
  3.             static void Main()   
  4.            {   
  5.                       Console.WriteLine("请输入名次:");   
  6.   
  7.                       int mingci = int.parse(Console.ReadLine());   
  8.                           
  9.                       switch(mingci)   
  10.                      {   
  11.                                 case 1:   
  12.                                             Console.WriteLine("我是第一名");   
  13.                                             break;   
  14.                                 case 2:   
  15.                                 case 3:   
  16.                                             Console.WriteLine("我是第三名");   
  17.                                              break;   
  18.                                  default:   
  19.                                              Console.WriteLine("其他");   
  20.                                              break;   
  21.                      }   
  22.            }   
  23. }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值