case...break与switch...default ???

来源:4-6 Java条件语句之 switch

DOGs

2015-03-26 17:37

"3、 case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束 如"这里的意思是指case和break一起使用,而default是switch的结束语吗?如果我是这样理解的话,“5、 default 块可以出现在任意位置,也可以省略”又有矛盾了?

写回答 关注

3回答

  • 发条橙
    2015-03-26 19:54:36
    已采纳

    前面那半句不对.. 如果没有default 而且没有匹配到会报错

    DOGs

    非常感谢!

    2015-03-26 20:04:30

    共 3 条回复 >

  • 发条橙
    2015-03-26 19:33:15

    default 的意思是 如果没有遇到没有跟case匹配的 就执行default语句  但是default语句并不是switch 的结束语  你也可以把所有情况列全 就不用default语句了。

    break的意思你可能没有太理解,它代表的是跳出循环 或者当前块,如果 没有break的话他就会继续执行下面的代码  效果跟

                 case '一':

                case '三':

                case '五':

    是一样的

    DOGs

    就是在没有default的情况下,如果全部是case的话,再加上没有匹配到的话,就会一直循环;而加上default的话,就是在匹配不到case的情况下,执行default的代码块,然后输出default的内容,结束循环?

    2015-03-26 19:52:26

    共 1 条回复 >

  • Perona
    2015-03-26 17:59:20

    case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容。对,没错,就是case和break一起使用,如果没有break,那么它还是继续执行下一个语句块的内容。default就是默认的意思,也就是说如果case没有匹配到的话,就会执行default里面的内容。

    就拿课程里面这个做栗子吧

    public class HelloWorld {

        public static void main(String[] args) {

         char today='一';

            switch(today){

                case '一':

                case '三':

                case '五':

                    System.out.println("吃包子"); 

                    break;

                case '二':

                case '四':

                case '六':

                    System.out.println("吃油条"); 

                   break;

               default:

                System.out.println("吃主席套餐");

            }

    如果把这代码块里面的break都给删了,那么控制台就会依次输出:

    吃包子
    吃油条
    吃主席套餐

    default我们也可以省略掉,是不是可以用一个case '日':来替换掉啊,效果是一样的。


    mito 回复DOGs

    那也得先满足case条件啊。。。。

    2015-03-26 20:25:11

    共 4 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题