我正在尝试实现这个逻辑,我只是想知道是否有更好的方法?
if(condition1) {
do1();
}
else if(condition2) {//especially here that I have to check condition3 here and also in the last else if
do2();
if(condition3) {
do3();
}
}
else if(condition3) {
do3();
}
答案 0 :(得分:5)
试试这个
if(condition1)
{
do1();
}
else
{
if(condition2)
{
do2();
}
if(condition3)
{
do3();
}
}
答案 1 :(得分:2)
if(condition1) {
do1();
}
else {
if(condition2) {
do2();
}
if(condition3) {
do3();
}
}
答案 2 :(得分:2)
当涉及逻辑比较时,通常应用的最佳规则是使代码在条件方面最可读。不要试图过于聪明,让未来的读者想知道代码试图实现的目标。
编写代码,使其易于理解,而不是最短的比较。
根据您的条件,您编写的解决方案可能是最容易理解的解决方案。如果是的话,你应该保持原样,而不是让它变得更复杂。
答案 3 :(得分:1)
在你的逻辑中,我看不出你如何能够改进。也许另一种更清晰的方式是将condition2
和condition3
放在同一else
块中,因为condition2
和condition3
并不相互排斥就像他们与condition1
一样:
if(condition1) {
do1();
}
else {
if(condition2) {
do2();
}
if(condition3) {
do3();
}
}