您的位置:首页 > 编程语言 > Java开发

switch选择结构

2017-11-20 11:16 239 查看
switch选择结构的应用:

当需要多重分支并且条件判断是 等值判断 的情况下,使用switch选择结构代替多重if选择结构会简单些,在使用switch选择结构是不要忘记在每个case块的最后写上break。

switch选择结构使用时注意事项:

switch括号里的表达式

-在JDK1.7后,switch语句小括号里可以是intshortbytechar枚举String类型表达式。

case关键字

-case后必须是一个常量,数据类型与switch后表达式的值相同,通常是一个固定的值。case块可以有多个,顺序可以改变,但是每个case后的常量的值必须不同。

注意:常量值的类型应与switch括号中的“表达式”的值类型一致。

break关键字

-跳出当前结构,如果case代码块中没有break,代码则会依次向下执行,直到遇到break跳出。

当每个代码块都有break关键字时,正常的顺序是通过case找到对应的执行代码块,然后跳出当前结构。


int num = 1;
String words;

switch(num){
case 1:
words = "num=1";
break;

case 2:
words = "num=2";
break;

case 3:
words = "num=3";
break;

default:
words = "num>3";
}
//此时words的值为num=1;


如果case代码块中没有break,代码则会依次向下执行,直到遇到break跳出


int num = 1;
String words = "";

switch(num){
case 1:
words += "执行case 1的代码块";

case 2:
words += "执行case 2的代码块";
break;

case 3:
words += "执行case 3的代码块";
break;

default:
words += "执行default的代码块";
}
//此时words的值为执行case 1的代码块执行case 2的代码块;


default关键字

-表示默认值,即其他情况都不满足时,默认执行此代码块。

-default后要紧跟冒号。

int num = 5;
String words;

switch(num){
case 1:
words = "num=1";
break;

case 2:
words = "num=2";
break;

case 3:
words = "num=3";
break;

default:
words = "num>3";
}
//此时words的值为num>3;


-default块和case块的先后顺序可以变动,不会影响程序执行结果。通常,default块放在末尾,也可以省略。


int num = 2;
String words;

switch(num){
default:
words = "num>3";
break;

case 1:
words = "num=1";
break;

case 2:
words = "num=2";
break;

case 3:
words = "num=3";
break;
}
//此时words的值为num=2;


如果此时的default没有break关键字跳出,依然不影响程序执行,但如果最终没有符合情况的值,调用默认值时,因为没有break关键字跳出,会出现依次向下执行的情况


int num = 2;//如果int num = 5;
String words;

switch(num){
default:
words = "num>3";

case 1:
words = "num=1";
break;

case 2:
words = "num=2";
break;

case 3:
words = "num=3";
break;
}
//此时words的值为num=2;
//如果num = 5,words的值为num=1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  switch java