JAVA中if多分支和switch的优劣性。

 

Switch多分支语句
switch语句是多分支选择语句。常用来根据表达式的值选择要执行的语句。例如,在某程序中,要求将输入的或是获取的用0~6代表的星期,转换为用中文表示的星期。该需求通过伪代码描述的算法如下:
输入的或是获取的表示星期的数字
如果等于0, 则输出星期日
如果等于1, 则输出星期一
如果等于2, 则输出星期二
如果等于3, 则输出星期三
如果等于4, 则输出星期四
如果等于5, 则输出星期五
如果等于6, 则输出星期六
从上面的算法中,大家可能会想到通过嵌套的if语句实现,但是由于分支较多,实现后的代码较长,从而降低程序的可读性。不过Java还提供了另外一种语句来处理这类情况。下面将给出其具体实现代码。
switch(表示星期的数字){
case 0:输出星期日;
break;
case 1:输出星期一;
break;
case 2:输出星期二;
break;
case 3:输出星期三;
break;
case 4:输出星期四;
break;
case 5:输出星期五;
break;
case 6:输出星期六;
break;
}

实际上,上面的代码就是switch语句的基本格式。但是SWitch再做一些范围类的判断就显得有些“弱”,比如输出一个成绩:在>=90和<=100之间就为“优”。“>=80h和<90”之间就输入“良好”。 等等就有些繁琐,这时if的优势就体现出来了。

int core = 90; //
if(core >=90&&core<=100){
输出成绩为优秀; 
}else if(core>=80&&<=89){
输出成绩为良好;}

……

}else{……}。基本上switch能做到的事情if 都能够做,而且更好.不像switch后的变量有诸多限制只能为string byte char int类型.所以除了上述类似第一例那样的情况,建议大家还是使用if条件表达式。

posted @ 2014-04-04 19:30  uncle ray  阅读(4103)  评论(0编辑  收藏  举报