switch(表达式){?
case 常量表达式1: ?语句1;
case 常量表达式2: ?语句2;
…
case 常量表达式n: ?语句n;
default: ?语句n+1;
}
意思 是先计算表达式的值,再逐个和case后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行默认后面的语句;若等于某一个常量表达式,则从 这个表达式后的语句开始执行,并执行后面所有case后的语句。
与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完成就 跳出if语句,不会执行其他if语句;
而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。在每个case语句之后 增加break语句,使每一次执行之后休眠跳出switch语句,从而避免输出不有的结果。