ElaBosak233 / Valkyrie

一个面向中文社区的 Bukkit / Spigot 插件开发教程
https://valkyrie.ela.ac.cn
MIT License
27 stars 3 forks source link

switch #4

Closed CaveNightingale closed 4 years ago

CaveNightingale commented 4 years ago

a和b不一定是数值,字符串和枚举值也可以 switch...case...

switch...case... 结构可以判断一个变量与一系列的某个值是否相等,每个值称为一个 分支

switch( 变量 ){ case 数值a: // 将要做什么 break; // 如果没有 break 语句,后续的所有 case 的值都会被输出! case 数值b: // 将要做什么 break; ... // 这里代表无数个 case 语句 default: // 当没有任何数值匹配的时候,会自动进入 default 中,当然,default 请写在最后面 }

ElaBosak233 commented 4 years ago

已修改,请核对后 Close 此 issue

CaveNightingale commented 4 years ago

switch的case必须是常量表达式,如果有enum A{SOME_ENUM}和int x,例如"a",1+2,1,2,SOME_ENUM就是可以写在case后面的,而x,System.out,new Object()则不能,希望说明这一点 jshell> switch(1){ ...> case 0: ...> break; ...> case x: ...> System.out.println("case x!"); ...> } | 错误: | 需要常量表达式 | case x:

ElaBosak233 commented 4 years ago

已修改,感谢