分支语句有两大类:if(表达式1)…else if(表达式2)……else if(表达式n)…eles和switch(表达式) { case……}。
if……else……需要多次判断,而且多次判断是顺序执行的,通常速度较慢,但它可以对表达式无法返回确定值的情况适用。
switch(表达式) 通常对表达式进行一次计算根据表达式计算的值确定所走的分支,这种分支对判断计算中进行一次,所以速度比较快,但是它的使用是有条件的。
那么什么时候用switch语句呢?
当switch(表达式) 里的表达式计算结果是确定的值时,我们就可以用switch(表达式) 语句,然后根据“表达式”的计算结果选择走不同case。
例如:
private int fontSize(String selectedItem) {
switch(selectedItem){
case "一号":
return 42;
case "小一":
return 38;
case "二号":
return 34;
case "小二":
return 30;
case "三号":
return 24;
case "小三":
return 20;
case "四号":
return 16;
case "小四":
return 12;
case "五号":
return 10;
case "六号":
return 8;
case "七号":
return 7;
case "7":
return 7;
case "8":
return 8;
case "9":
return 9;
case "10":
return 10;
case "11":
return 11;
case "12":
return 12;
case "14":
return 14;
case "16":
return 16;
case "18":
return 16;
case "20":
return 20;
case "22":
return 22;
case "24":
return 24;
case "28":
return 28;
case "32":
return 32;
case "36":
return 36;
case "40":
return 40;
case "48":
return 48;
case "56":
return 56;
case "72":
return 72;
default:
return 34;
}
}
程序里selectedItem是一个String的对象,其一定是个确定值,所以可以使用switch语句(注:java 1.7版之后提供了对String类型对象的switch功能)。