首页 > 关于代码量和性能如何取舍的疑问?

关于代码量和性能如何取舍的疑问?

第一种:

if (...){
    for (...){
        ...
    }
}else if (...){
    for (...){
        ...
    }
}else{
    for (...){
        ...
    }
}

第二种:

for (...){
    if (...){
        ...
    }else if (...){
        ...
    }else{
        ...
    }
}

如上两种情况,像第二种每次循环都要做判断,应该没有第一种性能高吧,但是第二种代码量应该要比第一种少,像这种情况该如何取舍呢?或者有没有其他两者兼顾的方法?
之前没有描述清楚,补充下,这些条件判断是判断循环外的某个变量的值,然后根据这个变量不同的值,对循环内的数据做不同的处理,例如有个全局变量,存储的是时间类型,如果值是“天”,则循环内的数据按照“每日”来处理,如果值是“时”,则循环内的数据按照“每小时”处理。


你这个还得看for循环的次数


既然那些if语句可以写在循环外面,说明和循环变量无关。也就是说,在循环中多次重复执行if语句不成立,能够写成只执行一次。所以,应该选择第二种。


太早考虑优化是没有意义的,你应该先怎么简单怎么写,然后再按实际情况考虑如何优化。


没有事先明确循环的次数,何不使用 while(){}试试,也许能满足你的要求 , 使用switch会简洁点吧

【热门文章】
【热门文章】