- 浏览: 289349 次
- 性别:
- 来自: 江西
文章分类
最新评论
-
wzxxzw519:
多谢哈哈哈哈哈
eclipse左边导航package explorer自动定位 -
jmq2007:
感谢!
eclipse安装maven插件,处理无Maven Pom editor打开方式问题 -
sswh:
非常感谢!不过一个maven插件的安装就弄得这样麻烦(Ecli ...
eclipse安装maven插件,处理无Maven Pom editor打开方式问题 -
摇曳的风:
谢谢,刚知道。
eclipse左边导航package explorer自动定位 -
张阿三:
不错!
将win7电脑变身WiFi热点,让手机、笔记本共享上网
关于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执行统一语句
看了结果,可以这样理解:
(1)switch语句关键地方是进入点,有了进入点没有break的情况下会执行到底
(2)没有匹配值的时候default就是进入点,进入default以后会和普通进入点一样,如果没有break继续执行下面语句
(3)如果有break 则是从进入点到 break中间的语句执行
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中间的语句执行
发表评论
-
synchronized修饰静态方法和非静态方法的区别
2017-04-16 16:27 972区别: 非静态方法是获取对象锁(如this ... -
公钥,私钥和数字签名的理解
2016-08-04 17:56 544一、公钥加密 假设一 ... -
JAVA自定义注解2
2016-08-01 16:51 547如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有 ... -
JAVA自定义注解1
2016-08-01 16:51 554要深入学习注解,我们就必须能定义自己的注解,并使用注解,在 ... -
git同时配置gitlab和github
2016-06-16 16:27 1219本人一字一句写的,转载备注来源,谢谢 一、设置gi ... -
tomcat结合nginx使用小结
2016-06-06 10:45 542相信很多人都听过nginx ... -
Java异常:选择Checked Exception还是Unchecked Exception?
2016-04-01 17:18 851Java包含两种异常:checked异常和unchecke ... -
spring@Transactional注解解决事务处理问题
2016-04-01 16:57 974自己开始使用注解的时候,不知道为什么总是有错误,好像参考了 ... -
UML类图几种关系的总结
2016-03-29 19:44 553在UML类图中,常见的有以下几种关系:泛化(Genera ... -
cygwin安装redis
2016-01-14 22:18 591http://my.oschina.net/maxid ... -
Java NIO 系列教程
2015-12-08 23:18 637Java NIO(New IO)是从Java 1.4版本开 ... -
HTTP协议详解
2015-12-08 23:03 464引言 ... -
【Java线程】锁机制:synchronized、Lock、Condition
2015-12-07 23:59 469http://www.infoq.c ... -
java自带线程池和队列详细讲解
2015-12-07 23:31 329Java线程池使用说明 一简介 线程的使用在java ... -
Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
2015-12-07 00:04 371一、问题: 数据库表数据量极大 ... -
request.getRequestURI()、getRequestURL()、getContextPath()、getServletPath()区别
2015-11-25 14:26 558假定你的web application ... -
Java Volatile/transient关键字
2015-11-13 14:45 504Volatile修饰的成员变量在每次被线程访问时,都强迫从 ... -
mysql集群master和salve配置mysql的master和salve详解事件
2015-10-21 21:58 616mysql 集群 master和salve 配 ... -
剖析淘宝TDDL(TAOBAO DISTRIBUTE DATA LAYER)
2015-10-21 21:32 536剖析淘宝 TDDL ( TAOBA ... -
分布式集群系统下的高可用session解决方案
2015-10-20 23:04 653目前,为了使web能适应大规模的访问,需要实现应用的集群部署 ...
相关推荐
如果没有匹配的 `case`,则执行 `default` 代码块(可选)。 在描述中的例子中,`switch` 语句的 `expression` 是 `score / 10`,其中 `score` 是学生的分数(假设为整数,范围在 0-100)。通过除以 10,我们可以...
- `default`子句可以放在`switch`结构的任何位置,但通常放在最后,以防遗漏。 以下是一个简单的`switch`语句示例: ```c #include int main() { int day = 3; switch(day) { case 1: printf("Monday\n"); ...
- 示例2和3展示了没有break的情况,即使匹配成功,也会继续执行后续的case,直到遇到break或switch的结尾。 9. **注意事项**: - 虽然连续case可以简化代码,但过多的无break case可能导致意外的代码执行路径,...
以上示例中,我们使用了switch语句来处理不同的输入情况,使用break关键字来确保每次只执行一个case分支,避免了case穿透问题,使用default关键字来处理不匹配的意外情况。通过这些示例,我们可以看到switch语句在...
下面将详细介绍 C++ 中的 switch 语句、goto 语句、break 语句、for 循环语句等控制语句。 一、switch 语句 switch 语句是一种选择结构语句,用于根据不同的值执行不同的语句。其基本形式为: ```cpp switch (整型...
在本例中,我们将深入探讨`switch`、`case`和`default`的用法,并通过示例来帮助理解。 首先,让我们了解`switch`的基本结构: ```javascript switch (expression) { case value1: // code block to be executed...
如果没有匹配的 `case`,则执行 `default` 后的代码块,`default` 是可选的。 回到我们的学生成绩例子,`grade` 变量被赋值为 `'A'`,代表学生的成绩等级。`switch(grade)` 会检查 `grade` 的值,然后执行相应的 `...
在给定的文件 `Control_switchCase2_switchCase2.pdf` 中,示例代码展示了如何使用 `switch` 语句处理串行输入,并通过控制 LED 的亮灭来响应不同字符。以下是对这个知识点的详细解释: 首先,`switch` 语句通常...
C语言中的`switch`和`case`语句是控制流程的一部分,它们提供了多路选择的结构,使得程序可以根据不同的条件执行不同的代码块。在C语言中,`switch`语句通常用于替代一系列的`if...else if...else`语句,以实现更...
如前所述,C语言的switch-case默认具有“穿透”特性,即如果没有break,会继续执行下一个case的代码,直到遇到break或switch结构结束。 7. 变量在case后的声明: 在某些实现中,允许在case后面声明新的变量,但这...
在上面的示例代码中,我们可以看到,如果不加入break语句,传入的参数为1时,输出结果将是1、2、3和default,这是因为switch语句会继续执行下一个case语句,直到遇到break语句或switch语句的结尾。同样,如果传入的...
在C#编程语言中,`break` 和 `switch` 是两个关键的控制流程语句,它们在编写逻辑和控制程序执行路径时起着至关重要的作用。让我们深入了解一下这两个概念及其在实际开发中的应用。 首先,`switch` 语句是C#中用...
这里a和case列表中从上而下逐一做比较,如果匹配就执行case中的代码,若有break则跳出,无break则继续往下匹配,直到新的匹配和break或switch代码块结束。 注意: a和case值的匹配算法是执行严格相等比较的(‘===’...
标题中的“多重选择:switch和break”指的是在编程语言中,特别是C/C++或类似的语法结构中,用于实现多路分支选择的结构——`switch`语句和`break`关键字。`switch`语句允许根据不同的条件执行不同的代码块,而`...
- 如果没有任何 `break` 语句,那么程序将从第一个匹配的 `case` 开始一直执行到最后一个 `case` 或 `default` 子句,这称为“穿透”行为。 #### 三、Switch 语句的执行流程 1. **无 Break 的情况:** - 当 ...
如果`colorCode`的值没有匹配到任何一个`case`,则会执行`default`的代码。 在`js_switch语句练习`这个练习文件中,你可能会发现更多关于`switch`语句的实践案例,包括不同类型的比较、复合表达式的使用以及如何...
总结一下,`switch`语句中的`default`可以出现在任何位置,但为了避免代码混乱和不必要的执行,通常将其放在最后。`default`后的`break`是可选的,但根据需要应谨慎使用,以确保代码的正确流程。理解这些细节对于...
确保在`switch-case`结构中包含`default`,以防遗漏某些情况。 问题5:不知道`if-else`与`switch-case`的区别 `if-else`和`switch-case`都是条件控制结构,但它们在适用场景上有所不同。`if-else`适用于任意类型的...
* 在 switch 语句中,如果没有 break 语句,程序将继续执行到下一个 case 语句。 * 如果没有 default 语句,程序将执行到结束。 * 在 switch 语句中,各个 case 语句的顺序并不影响执行结果。 switch 语句的优点:...