switch语法中break,default作用说明
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执行统一语句
- 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.}
输入结果:
- 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中间的语句执行
switch语法中break,default作用说明的更多相关文章
- switch语法的盲点
switch语法在项目使用的频率很低,今天看到一个相关的例子引发一些思考,,同时自己也写了一些简单的例子如下: 实例1: int dayOfWeek = 5; switch (dayOfWeek){ ...
- switch中的default的位置
[转载]http://hi.baidu.com/dannie007zxl/item/5d0c3185577df719c3162724 有的时候,我们对身旁自认为熟悉的东西,却发现很难去给出准确的回答. ...
- return break 和continue在for循环中的不同作用
平时自己经常在函数里见到return,在switch语句中使用break,而continue则用的不多. 其实这三者都能在for循环中发挥不同的作用,让代码更加灵活. 先说return return是 ...
- Java开发中经典的小实例-(swich(){case:参数break;default: break;})
import java.util.Scanner;public class Test6 { public static void main(String[] args) { // ...
- 循环内的switch中break和continue使用区别
首先看下break和continue的使用方法. break语句在循环和switch语句中使用,用于终止最近的封闭代码块,如果在嵌套循环中,则只终止最近的循环. continue语句在循环中使用,不能 ...
- switch语句中default用法详解
当年学C语言switch开关语句的时候,很多人会告诉你它是这么用的: switch(表达式){ case常量表达式1: 语句1;break; case常量表达式2: 语句2;break; - case ...
- java中break、continue、return作用
java中break.continue.return作用 0.首先要明确:break和continue是作用对象是循环体:而return的作用对象是方法 break:在执行完本次循环后,跳出所在的循环 ...
- switch语句中的选择因子
switch语句能否用作用在byte上,能否作用在long上,能否作用在String上? switch选择语句的格式为: switch(intergral-selector){ case integ ...
- 语句:if语句、do-while语句、while语句、for语句、for-in语句、with语句、label语句、switch语句以及break和continue语句;
ECMA-262规定了一组语句(也成为流控制语句),语句定义了ECMASript中的主要语法. 语句分类:条件分支语句.条件判断语句和循环语句 代码块:是一对包裹多行代码的花括号,代码块后不可加引号: ...
随机推荐
- stream_context_create解决file_get_contents超时处理
stream_context_create作用:创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置.代理服务器.请求方式.头信息设置的 ...
- 解决windows下eclipse中android项目关联android library project
关于 在项目中导入 关联 library project 的问题,有时候会出现如下状况 在windows系统下,library project必须和project处于相同的盘符中 如果在不同盘符,pr ...
- POJ 1459 Power Network 最大流(Edmonds_Karp算法)
题目链接: http://poj.org/problem?id=1459 因为发电站有多个,所以需要一个超级源点,消费者有多个,需要一个超级汇点,这样超级源点到发电站的权值就是发电站的容量,也就是题目 ...
- swift 与 OC 混合编程
原文地址:http://www.cocoachina.com/swift/20150608/12025.html 一.解决问题 Swift项目需要使用封装好的Objective-c组件.第三方类库,苹 ...
- Python的数据类型总结
原地可变类型和不可变类型 原地不可变类型又叫可哈希(hashable)类型,原地可变类型又叫不可哈希类型. 原地不可变类型: 数字类型:int, float, decimal.Decimal, fra ...
- Web应用的组件化(二)
管控平台 在上一篇中我们提到了组件化的大致思路,这一篇主要讲述在这么做之后,我们需要哪些外围手段去管控整个开发过程.从各种角度看,面对较大规模前端开发团队,都有必要建立这么一个开发阶段的协作平台. 在 ...
- Uva 10288 Coupons
Description Coupons in cereal boxes are numbered \(1\) to \(n\), and a set of one of each is require ...
- hdu 3072
强连通分量——tarjin 算法 这道题和前面那道hdu 2767唯一不同就是,2767需要找出最小数量的边使图成为连通分量,而这个题需要一点点贪心的思想在里面,它需要求出代价最小的边使图成为连通分量 ...
- perl unload utf-8 oracle Wide character in print at unload_oracle.pl line 105.
#!/usr/bin/perl use DBI; use Encode; my $dbName = 'oadb'; my $dbUser = 'vxspace'; my $dbUserPass = ' ...
- Android推送通知Notification
参考: 1.http://www.cnblogs.com/anrainie/archive/2012/03/07/2383941.html 总结: 代码: