黑马程序员技术交流社区

标题: 关于switch的疑惑 [打印本页]

作者: 张文星    时间: 2013-3-21 18:48
标题: 关于switch的疑惑
本帖最后由 张文星 于 2013-3-22 12:50 编辑

switch表达式中的值必须是byte、short、int、char,为什么还可以允许是枚举类型,原理是什么?
我自己的猜想是java中引用在计算机中占4个自己的内存,而int也是占四个字节,相互之间可以做类似的转换,不知道对不对。
作者: 于腾飛    时间: 2013-3-21 19:15
枚举型要自己定义.
例如定义颜色型,许可值是红录蓝
enum color{red, green, blue};
例如定义weekday型,许可值是星期一,二,三,...星期日.
enum weekday{mon,tue,thi...};

如果没有enum,则只好用字符型或整型组合,表达式为自定义函数,返回值"red" 或"green"或 "blue",weekday返回值1,2,3,4,5,6,0.
switch 里面的 case 相当条件语句,case "red" 执行什么什么,否则break 看下一个 case .
作者: 黄玉昆    时间: 2013-3-21 19:28
于腾飛 发表于 2013-3-21 19:15
枚举型要自己定义.
例如定义颜色型,许可值是红录蓝
enum color{red, green, blue};

里面的成员是不是都应该大写额
作者: 于腾飛    时间: 2013-3-21 19:48
黄玉昆 发表于 2013-3-21 19:28
里面的成员是不是都应该大写额

对对,字段名应该大写,楼主也注意哈!共同努力




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