黑马程序员技术交流社区
标题:
关于switch开关语句的哪些事儿:
[打印本页]
作者:
墨琰
时间:
2015-8-9 12:16
标题:
关于switch开关语句的哪些事儿:
关于switch开关语句的哪些事儿:
1)语句的定义格式:
需要重点记忆,switch后的小括号()内的数据类型只能为整型的(变量或者常量可以),字符型的(字符变量,字符串常量,Java中可以有字符串JDK1.7以后增加的新特性,不知C11最新版本中有无,查阅),还可以是一个变量赋值的表达式(a=7;).但不可以是定义变量的表达式(int a=7;)。
case后的数据类型和switch中的完全一样。类似于地址,对应上了就执行其后的表达式,没有找到就执行default后的表达式语句,有点类似于Java中的异常捕获机制,try{可能发生异常的语句}catch(Exception type exception){处理异常的语句}...finally{最终要执行的语句,例入释放内存空间};finally是最后执行的,不管有没有return 0与在finally之前,它都会执行,除非有exit(0);它是系统退出的指令。
default的探究:可以在swtich语句体中的任何位置书写
1)deflaut在case语句的最后面, 倘若case语句顺利寻找匹配成功并且执行完表达式,没有进行对应的break,defluat有机会最后执行, 如果deflaut表达式语句之后有对应的break,它将会跳出switch语句并得出相应的计算结果。
switch(2 ){
case :表达式语句1;break;
case :表达式语句2;;
case :表达式语句3;
default :表达式语句4;break;
}
2)deflaut在case语句的最前面, 如果case语句顺利执行,并且成功break以后,此时deflaut不再执行,程序运行不到。
switch( ){
default :表达式语句4;break;
case :表达式语句1;,
case :表达式语句2;
case :表达式语句3;break;
}
4)deflaut在case语句的中间,如果case顺利匹配,其后表达式语句顺利执行 ,并没有break的情况下,程序执行到deflaut语句,如果defluat也没有进行break,那么deflaut之后如果还有case语句的话,便会被执行到,啥时候退出switch,就看defluat后case语句,啥时候结束,程序流程不会接着循环到最上面的case语句的,不然都成循环了。
switch( 2){
int a=5;
case :表达式语句1;break;
case :表达式语句2;
default :表达式语句4;
case :表达式语句3;//break;
}
作者:
cheenbee
时间:
2015-8-9 14:14
LZ第一次发帖,就这么高深莫测,好流弊的样子
作者:
微笑的背后3
时间:
2015-8-9 15:24
赞一个,很给力
作者:
阿伦666
时间:
2015-8-9 16:30
可以的,亲啊
作者:
用晦而明
时间:
2015-8-9 17:42
很详细谢谢你
作者:
QQ2544
时间:
2015-8-9 20:19
不错哦学习了
作者:
墨琰
时间:
2015-8-9 21:28
微笑的背后3 发表于 2015-8-9 15:24
赞一个,很给力
互相学习 加油
作者:
墨琰
时间:
2015-8-9 21:30
用晦而明 发表于 2015-8-9 17:42
很详细谢谢你
互相学习了 加油
作者:
墨琰
时间:
2015-8-9 21:31
QQ2544 发表于 2015-8-9 20:19
不错哦学习了
互相学习 加油
作者:
温柔JC
时间:
2015-8-9 21:41
不错不错!!!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2