A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 芦路 中级黑马   /  2012-9-25 14:08  /  2040 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 芦路 于 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吗?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

6 个回复

倒序浏览
不用,把default直接省略就可以了
case 5:
                    Console.WriteLine("学员的成绩评测为E");
                    break;

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
廖创发 发表于 2012-9-25 14:42
不用,把default直接省略就可以了
case 5:
                    Console.WriteLine("学员的成绩评测为E"); ...

如果是50分以下呢?
回复 使用道具 举报
芦路 发表于 2012-9-25 15:01
如果是50分以下呢?

额,不好意思,刚开始没想到那么多:lol
                case 5:
                case 4:
                case 3:
                case 2:
                case 1:
                case 0:
                    Console.WriteLine("学员的成绩评测为E");
                    break;
回复 使用道具 举报
个人理解,所谓的default可以省略,就好比是if……else……里的else可以省略一样,如果你把它省略了,那么符合后面情况的条件就不会执行了。所以,如果你只想让程序对前几种情况进行处理,那么default可以省略;但如果你想让程序执行default情况的语句的话就没法省略default语句,就像是如果你想处理else情况下的条件一样,必须得带着。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
刘欢(安阳) 来自手机 中级黑马 2012-9-25 16:31:50
地板
default是可以省略的。一般的default是对case情况的补充,就是除去几种case的情况,其他的情况都用default来表示。当你只需要几种case,而不需要考虑其他情况时,default自然也就没必要写了

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马