switch语法中break,default作用说明
2024-08-26 18:54:45
关于java中switch使用的一些说明
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
default就是如果没有符合的case就执行它,default并不是必须的.
case后的语句可以不用大括号.
switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
如果使用long类型的话编译时会有错误产生,这点在使用上要注意,其他的数据类型都不行。
简单地说就是能够自动转换程int类型的数据类型才行。
而case是指switch小括号中的变量会出现且你想要处理的值,它除了可以是个整数、字符之外,还可以是一些简单的算术表达式,不过算数表达式的结果要满足刚刚所说的四种数据类型。一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
default就是如果没有符合的case就执行它,default并不是必须的.
case后的语句可以不用大括号.
switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
如果使用long类型的话编译时会有错误产生,这点在使用上要注意,其他的数据类型都不行。
简单地说就是能够自动转换程int类型的数据类型才行。
而case是指switch小括号中的变量会出现且你想要处理的值,它除了可以是个整数、字符之外,还可以是一些简单的算术表达式,不过算数表达式的结果要满足刚刚所说的四种数据类型。一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句
Java代码
- 1.package flowcontrol;
- 2.
- 3.public class SwitchCase {
- 4. // first default
- 5. public static void testFirst(int i) {
- 6. switch (i) {
- 7. default:
- 8. System.out.println("default");// first default
- 9. case 1:
- 10. System.out.println("one");
- 11. case 2:
- 12. System.out.println("two");
- 13. case 3:
- 14. System.out.println("there");
- 15. }
- 16. }
- 17.
- 18. // last default
- 19. public static void testLast(int i) {
- 20. switch (i) {
- 21. case 1:
- 22. System.out.println("one");
- 23. case 2:
- 24. System.out.println("two");
- 25. case 3:
- 26. System.out.println("there");
- 27. default:
- 28. System.out.println("default");// last default
- 29. }
- 30. }
- 31.
- 32. // middle default
- 33. public static void testMiddle(int i) {
- 34. switch (i) {
- 35. case 1:
- 36. System.out.println("one");
- 37. case 2:
- 38. System.out.println("two");
- 39. default:
- 40. System.out.println("default");// middle default
- 41. case 3:
- 42. System.out.println("there");
- 43.
- 44. }
- 45. }
- 46.
- 47. public static void main(String[] args) {
- 48. // first default
- 49. testFirst(2);
- 50. System.out.println("------------------");
- 51. testFirst(9);
- 52.
- 53. System.out.println("|||||||||||||||||||||||||||||||||||");
- 54.
- 55. // last default
- 56. testLast(2);
- 57. System.out.println("----------------");
- 58. testLast(9);
- 59.
- 60. System.out.println("|||||||||||||||||||||||||||||||||||");
- 61. // middle default
- 62. testMiddle(2);
- 63. System.out.println("----------------");
- 64. testMiddle(9);
- 65.
- 66. }
- 67.
- 68.}
输入结果:
Java代码
- 1.two
- 2.there
- 3.------------------
- 4.default
- 5.one
- 6.two
- 7.there
- 8.|||||||||||||||||||||||||||||||||||
- 9.two
- 10.there
- 11.default
- 12.----------------
- 13.default
- 14.|||||||||||||||||||||||||||||||||||
- 15.two
- 16.default
- 17.there
- 18.----------------
- 19.default
- 20.there
看了结果,可以这样理解:
(1)switch语句关键地方是进入点,有了进入点没有break的情况下会执行到底
(2)没有匹配值的时候default就是进入点,进入default以后会和普通进入点一样,如果没有break继续执行下面语句
(3)如果有break 则是从进入点到 break中间的语句执行
最新文章
- git 出错误“值对于Uint32太大或太小”
- AppCode 2016.2.3 发布,支持 Swift3 的特性
- 尚学堂Spring视频教程(七):AOP XML
- JQuery按回车提交数据
- js中的this指针(四)
- free pascal 错误代码表
- asp.net项目下的web service返回json数据问题
- 实现在Android开发中的Splash Screen开场屏的效果
- 解决Intellij IDEA 通过archetype创建Maven项目缓慢的问题
- cocos2d-x中Node中重要的属性
- c++ 字符类型总结区别wchar_t,char,WCHAR(转)
- sass补充(2019-3-9)
- Linux基础命令mkdir
- final、finally、以及finalize的区别
- persist与checkpoint
- VMware虚拟机中CentOS 7的硬盘空间扩容
- synchronized中判断条件用while而不是if
- OS基础:动态链接库(一)
- Docker 利用registry创建私有仓库
- [转]Pass a ViewBag instance to a HiddenFor field in Razor
热门文章
- “typedef int (init_fnc_t) (void);“的含义
- NotePad++更改背景颜色
- linux禁止root用户直接登录sshd并修改默认端口
- HIVE编程指南之HiveQL的学习笔记1
- 第 9 章 模板方法模式【Template Method Pattern】
- Java语言基础(六)char成员变量默认初始值 最简单的Java源文件 Java的main()方法
- ANDROID_MARS学习笔记_S04_004_用HTTPCLENT发带参数的get和post请求
- Android用户界面 UI组件--TextView及其子类(一) TextView
- wcf 远程终结点已终止该序列 可靠会话出错
- MySQL源码 解析器