很多人都喜欢用if,也有很多人喜欢用 if...else。
打个比方,当x=1的时候打印“1”,当x=2的时候打印“2”。有的人会这么写:
if (x == 1) {
System.out.println("1");
} else {
if (x == 2) {
System.out.println("2");
}
}
有的人会这么写:
if (x == 1) {
System.out.println("1");
}
if (x == 2) {
System.out.println("2");
}
如果是这种情况,我个人更推荐后一种,因为程序指定了精确的1和2,它不需要对其他的情况进行判断,如果都不满足的话,就什么也不执行,也没什么损失,除非你想有额外的动作,你还可以写if(x!=1&&x!=2){...}。这种比较简洁,但对情况的估算不足,可能有漏网之鱼。
前一种更适合对复杂数据的约束条件。第一层缩小了范围,第二层又缩小的范围,总之整个集合都包含近来了,滴水不漏!但是第一种结构复杂,当层次多的时候,很容易把自己套晕。如果不小心掉了一个括号也不好匹配!
总之,各有个的优点,一般的情况也会两者结合起来用,根据自己的需要来组织好结构!