【发布时间】:2017-03-04 03:59:32
【问题描述】:
(我搜索了“else if range”,但没有找到任何回答我问题的帖子)。
当使用 if .. elseif .. else 来选择基于某个(互斥)范围内的变量要做什么时,我喜欢明确指定范围:
int num = 55;
String message;
if (num >= 20) {
// update message variable
message = "Bigger or equal to than 20";
}
else if (10 <= num && num < 20) {
// update message variable
}
else if (0 <= num && num < 10) {
// update message variable
}
else if (num < 0) {
// update message variable
}
System.out.println(message);
但是我看到的所有教科书和讲义都写了这样一个例子:
int num = 55;
String message;
if (num >= 20) {
// update message variable
message = "Bigger or equal to than 20";
}
else if (num >= 10) {
// update message variable
}
else if (num >= 0) {
// update message variable
}
else {
// update message variable
}
System.out.println(message);
我理解他们为什么要确保在最后使用 else (即防止 Java 编译器认为像消息这样的变量可能不会被初始化,如果该变量是一个原始变量),但考虑到所有教科书和讲义显示另一种风格,是否像我喜欢做的那样,明确写出所有其他条件的范围会导致任何问题?
【问题讨论】:
标签: java conditional