使用逗号分隔大小写是不好的做法还是不赞成? Switch case 语句 Java
Bad practice or frowned upon to use a comma to separate cases? Switch case statement Java
编写带有逗号的 switch case 语句是否被认为是不好的做法:
switch(name)
{
case 'a', 'A' :
break;
}
而不是
switch(name)
{
case 'a':
case 'A':
break;
}
只是好奇,因为我的代码似乎 运行 无论哪种方式都很好,但我想养成使用 proper/most 接受方式的习惯。
这不是坏习惯。事实上,它被认为是简洁和省时的。
看看您拥有的以下代码
switch(name){
case 'a', 'A' :
break;
}
不使用逗号的等价物是:
switch(name){
case 'a':
break;
case 'A':
break;
}
而 if-else
等价物是:
if(name=='a'){
//Do something
}else if(name=='A'){
//Do something
}
其中,第一个例子只用了 36 个字符。后者用了49个,最后一个用了37个字符
道德?使用逗号绝对比使用两个案例和一个结果更简洁和省时。即使是 if
语句也会更简洁。
来自 JavaDocs:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
class SwitchDemo2 {
public static void main(String[] args) {
int month = 2;
int year = 2000;
int numDays = 0;
switch (month) {
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12:
numDays = 31;
break;
case 4: case 6:
case 9: case 11:
numDays = 30;
break;
case 2:
if (((year % 4 == 0) &&
!(year % 100 == 0))
|| (year % 400 == 0))
numDays = 29;
else
numDays = 28;
break;
default:
System.out.println("Invalid month.");
break;
}
System.out.println("Number of Days = "
+ numDays);
}
}
CheckStyle,java 样式的事实标准,没有对此进行检查。
做任何最容易阅读的事情。
我会说尽管在任何给定的 switch 语句中只使用一种样式或另一种样式。
编写带有逗号的 switch case 语句是否被认为是不好的做法:
switch(name)
{
case 'a', 'A' :
break;
}
而不是
switch(name)
{
case 'a':
case 'A':
break;
}
只是好奇,因为我的代码似乎 运行 无论哪种方式都很好,但我想养成使用 proper/most 接受方式的习惯。
这不是坏习惯。事实上,它被认为是简洁和省时的。
看看您拥有的以下代码
switch(name){
case 'a', 'A' :
break;
}
不使用逗号的等价物是:
switch(name){
case 'a':
break;
case 'A':
break;
}
而 if-else
等价物是:
if(name=='a'){
//Do something
}else if(name=='A'){
//Do something
}
其中,第一个例子只用了 36 个字符。后者用了49个,最后一个用了37个字符
道德?使用逗号绝对比使用两个案例和一个结果更简洁和省时。即使是 if
语句也会更简洁。
来自 JavaDocs: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
class SwitchDemo2 {
public static void main(String[] args) {
int month = 2;
int year = 2000;
int numDays = 0;
switch (month) {
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12:
numDays = 31;
break;
case 4: case 6:
case 9: case 11:
numDays = 30;
break;
case 2:
if (((year % 4 == 0) &&
!(year % 100 == 0))
|| (year % 400 == 0))
numDays = 29;
else
numDays = 28;
break;
default:
System.out.println("Invalid month.");
break;
}
System.out.println("Number of Days = "
+ numDays);
}
}
CheckStyle,java 样式的事实标准,没有对此进行检查。
做任何最容易阅读的事情。
我会说尽管在任何给定的 switch 语句中只使用一种样式或另一种样式。