黑马程序员技术交流社区

标题: 省略default [打印本页]

作者: 芦路    时间: 2012-9-25 14:08
标题: 省略default
本帖最后由 芦路 于 2012-9-25 15:00 编辑
  1. Console.WriteLine("请输入学员的成绩");
  2. int score = Convert.ToInt32(Console.ReadLine());
  3. switch (score / 10)
  4. {
  5. case 10:
  6. case 9:
  7. Console.WriteLine("学员的成绩评测为A");
  8. break;
  9. case 8:
  10. Console.WriteLine("学员的成绩评测为B");
  11. break;
  12. case 7:
  13. Console.WriteLine("学员的成绩评测为C");
  14. break;
  15. case 6:
  16. Console.WriteLine("学员的成绩评测为D");
  17. break;
  18. default:
  19. Console.WriteLine("学员的成绩评测为E");
  20. break;
  21. }
复制代码
不考虑异常,既然default可以省略,那么程序最后一点不用default怎么改?必须写好多case吗?

作者: 廖创发    时间: 2012-9-25 14:42
不用,把default直接省略就可以了
case 5:
                    Console.WriteLine("学员的成绩评测为E");
                    break;
作者: 芦路    时间: 2012-9-25 15:01
廖创发 发表于 2012-9-25 14:42
不用,把default直接省略就可以了
case 5:
                    Console.WriteLine("学员的成绩评测为E"); ...

如果是50分以下呢?
作者: 廖创发    时间: 2012-9-25 15:17
芦路 发表于 2012-9-25 15:01
如果是50分以下呢?

额,不好意思,刚开始没想到那么多:lol
                case 5:
                case 4:
                case 3:
                case 2:
                case 1:
                case 0:
                    Console.WriteLine("学员的成绩评测为E");
                    break;
作者: 李后量    时间: 2012-9-25 16:03
个人理解,所谓的default可以省略,就好比是if……else……里的else可以省略一样,如果你把它省略了,那么符合后面情况的条件就不会执行了。所以,如果你只想让程序对前几种情况进行处理,那么default可以省略;但如果你想让程序执行default情况的语句的话就没法省略default语句,就像是如果你想处理else情况下的条件一样,必须得带着。
作者: 刘欢(安阳)    时间: 2012-9-25 16:31
default是可以省略的。一般的default是对case情况的补充,就是除去几种case的情况,其他的情况都用default来表示。当你只需要几种case,而不需要考虑其他情况时,default自然也就没必要写了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2