当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Java:switch-case语句

Java:switch-case语句 时间:2019-02-18      来源:华清远见

我们生活中总会出现形形色色的选择,中意选择的不同,往后的故事往往也不尽相同。计算机中想要实现现实中的选择交互,就需要用到“选择语句”。当然简单的选择可以用if...else...,但是在多个需要抉择的情况下,就需要用switch...case语句。下面我们来说说Java中的switch...case...语句的用法,当然我们也可以适当的同C语言中的switch...case...语句的用法做些比较,对比学习。

一个 switch 语句允许测试一个变量等于多个值,每个值称为一个case。switch 语句会根据测试的变量的值会对每个case 进行检查,匹配对应的选项,执行不同的处理语句。其处理思路如下图:

java开发,switch-case语句

对应到计算机语言的语法:

switch( expression ){

case constant-expression:

语句块;

break; /* 可选的 */

    case constant-expression:

语句块;

break; /* 可选的 */

...... /* 任意数量 */

    default: /* 可选的 */

语句块;

break;  /* 可选的 */

}

switch:表示“开关”:

这个开关就是 switch 关键字后面expression的值。expression是一个常量表达式,整型变量或字符型变量(byte、short、int 或者 char)。从 Java SE 7 开始,switch 支持字符串 string类型。同时 case 标签必须为字符串常量或字面量。注意这里与C语言是有不同的,C语言中只能针对基本数据类型中的整型类型或可以转换为整型(int、char、byte、short)、枚举类型使用switch,其他类型必须使用if。

case:表示“情况,情形”:

一个 switch 中可以有任意数量的 case 语句。在每个 case 后要跟一个整型和字符型的常量表达式,和一个冒号。case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型。case 块可以有多个,顺序可以改变,但是每个 case 后的常量值必须各不相同。

break:表示“停止”:

当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行,即跳出当前结构。case 语句不必须要包含 break 语句。当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

default:表示“默认”:

一个 switch 语句可以有一个可选的 default,出现在 switch 的结尾。switch 语句在其开始处使用一个简单的表达式。表达式的结果将与结构中每个 case 子句的值进行比较。default 可用于在上面所有 case 都不为真时执行一个任务。通常,default可以省略不写,default 中的 break 语句也不是必需的。default 块和case 块的先后顺序可以变动,不会影响程序执行结果。

例程for JAVA:

public class Test {

 public static void main(String[] args){

  char a = ‘B’;

  switch(a){

  case ‘A’ :

System.out.println(" A ");

break;

  case ‘B’ :

System.out.println(" B "); 

  case ‘C’ : 

System.out.println(" C ");

  case ‘D’ :

System.out.println(" D ");

break;

  default :

System.out.println(" default ");

  }

 }

}

结果:

B

C

D

例程 for C:

int main () {

char grade = 'B';

switch(grade) {

case 'A' :

printf("很棒!\n" );

break;

case 'B' :

printf("做得好\n" );

case 'C' :

printf("您通过了\n" );

case 'D' :

printf("最好再试一下\n" );

break;

   default :

printf("无效的成绩\n" );

   }

   return 0;

}

结果:

做得好

您通过了

最好再试一下

上一篇:如何理解进程调度?

下一篇:Ubuntu关机、重启和注销命令

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部