zoukankan      html  css  js  c++  java
  • switch语句后的表达式的值是哪些类型?

    一般格式:
    switch (表达式)

    case 常量标号1:语句序列1;
    break;
    case 常量标号2:语句序列2;
    break;

    case 常量标号n:语句序列n;
    break;
    default: 语句S;

    其中:
    ①表达式:可以控制程序的执行过程,表达式的结果必须是整数、字符或枚举量值。
    ②case后面的常量标号,其类型应与表达式的数据类型相同。表示根据表达式计算的结果,可能在case的标号中找到,标号不允许重复,具有唯一性,所以,只能选中一个case标号。尽管标号的顺序可以任意的,但从可读性角度而言,标号应按顺序排列。
    ③语句序列是switch语句的执行部分。针对不同的case标号,语句序列的执行内容是不同的,每个语句序列允许有一条语句或多条语句组成,但是case中的多条语句不需要按照复合语句的方式处理(用{}将语句括起来),若某一语句序列i为空,则对应的break语句可以省略(去掉)。
    ④break是中断跳转语句,表示在完成相应的case标号规定的操作之后,不继续执行switch语句的剩余部分而直接跳出switch语句之外,继而执行switch结构后面的第一条语句,如果不在switch结构的case中使用break语句。程序就会接着执行下面的语句。
    ⑤default用于处理所有switch结构的非法操作。当表达式的值与任何一个case都不匹配时,则执行default语句。


    java 1.6(包括)以前,只是支持等价成int 基本类型的数据:byte ,short,char,int(其他的都不可以)。
    1.7加入的新特性可以支持String类型的数据。
    long是不可以的。。就算是通过强制的转化也必须是转成int。


  • 相关阅读:
    bzoj3223: Tyvj 1729 文艺平衡树
    bzoj1014: [JSOI2008]火星人prefix
    bzoj3231: [Sdoi2008]递归数列
    bzoj2282: [Sdoi2011]消防
    bzoj3195: [Jxoi2012]奇怪的道路
    成员内部类 局部内部类 匿名内部类
    静态代码块 构造代码块
    父类子类转换
    clone()方法
    后缀表达式求值
  • 原文地址:https://www.cnblogs.com/manhuidhu/p/6635413.html
Copyright © 2011-2022 走看看