switch语句注意事项
时间: 2023-11-26 21:45:32 浏览: 117
在使用switch语句时还应注意以下几点-信息学奥赛一本通-教程PPT课件(第五版)第3章 选择结构(C++版)
在使用switch语句时,需要注意以下几点注意事项:
1. 在每个case语句中都要加上break,以在满足条件的case语句后跳出switch语句,否则会造成switch语句的刺穿,在满足条件的case语句后的每条语句都将执行。
2. 可以在switch语句最后加入default语句,当所有case都不满足条件式时,执行其中内容;但是当default语句在满足条件的case前时,将先执行default语句,若没有对应break,将发生刺穿,后续case对应的语句都将执行。
3. 在使用switch语句时,需要注意字符串的匹配问题。switch对字符串的支持,其实是int类型值的匹配。它的实现原理是通过对case后面的String对象调用hashCode()方法,得到一个int类型的hash值,然后用这个hash值来唯一标识这个case。那么当匹配时,首先调用这个字符串hashCode()函数,获取一个hash值(int类型),用这个hash值来匹配所有case,如果没有匹配成功,说明不存在;如果匹配成功了,接着会调用字符串的String.equals()方法进行匹配。
4. 一般必须在case语句结尾添加break语句。因为一旦通过switch语句确定了入口点,就会顺序执行后面的代码,直到遇到关键字break。否则,会执行满足这个case之后的其他case的语句而不管case是否匹配,直到switch结束或者遇到break为止。如果在switch中省略了break语句,那么匹配的case值后的所有情况(包括default情况)都会被执行。
阅读全文