switch语句字符(switch语句中)
关于switch语句中使用String类型的实现原理
在Java 7 以后, switch 语句可以用作String类型上。
从本质来讲, switch 对字符串的支持,其实也是int类型值的匹配。它的实现原理如下:
通过对 case 后面的String对象调用 hashCode( )方法,得到一个int类型的Hash值,然后用这个Hash值来唯一标识着这个 case 。
那么当匹配的时候,首先调用这个字符串的 hashCode() 方法,获取一个Hash值(int类型),用这个Hash值来匹配所有的 case ,
如果没有匹配成功,说明不存在;如果匹配成功了,接着会调用字符串的 equals() 方法进行匹配。
由此看出,String变量不能是null;同时, switch 的 case 子句中使用的字符串也不能为null。
switch语句怎么用啊 具体啊!
执行过程:
先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。
当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。
如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。
switch语句用法
在C语言中,switch语句是开关语句,一般与case、break、default配合使用,对流程进行控制。switch作为一个开关,当变量表达式的值对应case中的值时,执行case后面的语句后跳出switch语句,如果都不符合则执行default后面的语句后跳出switch语句。
switch语句用法规则
1.在一个switch中可以有任意数量的case语句。每个case后跟一个要比较的值和一个冒号。
2.case后的类型必须与switch中的变量具有相同的数据类型,且必须是一个常量或字面量。
3.当被测试的变量等于case中的常量时,case后跟的语句将被执行,直到遇到break语句为止。
4.当遇到break语句时,switch终止,控制流将跳转到switch语句后的下一行。
5.不是每一个case都需要包含break。如果case语句不包含break,控制流将会继续后续的case,直到遇到break为止。
6.一个switch语句可以有一个可选的defaultcase,出现在switch的结尾。default case可用于在上面所有case都不为真时执行一个任务。default case中的break语句不是必需的。