这就是我通常编码的方式:
public void foo (int x) {
if (x == 1) {
System.out.println("You entered one!");
} else if (x == 2) {
System.out.println("You entered two!");
} else if (x == 3){
................. and so on.
我意识到以下内容也会产生相同的结果:
public void foo (int x) {
if (x == 1) {
System.out.println("You entered one!");
return;
}
if (x == 2) {
System.out.println("You entered two!");
return;
}
if (x == 3) {
...... and so on.
哪一个会更好用,即使它们产生相同的结果,为什么? 我意识到有一个switch语句。
答案 0 :(得分:0)
在这种情况下,几乎没有性能差异。它归结为可读性。
我个人更喜欢开关:
switch(x) {
case 1:
System.out.println("You entered one!");
break;
case 2:
System.out.println("You entered two!");
break;
case 3:
System.out.println("You entered three!");
break;
}
答案 1 :(得分:-2)
这是一个“主要基于意见”的问题,但主要意见是:
{}
)和设置和镜像删除逻辑的逻辑进展来构造,并且中间的返回可以导致绕过删除逻辑,经常引入微妙的错误。