第一种:
if (...){
for (...){
...
}
}else if (...){
for (...){
...
}
}else{
for (...){
...
}
}
第二种:
for (...){
if (...){
...
}else if (...){
...
}else{
...
}
}
如上两种情况,像第二种每次循环都要做判断,应该没有第一种性能高吧,但是第二种代码量应该要比第一种少,像这种情况该如何取舍呢?或者有没有其他两者兼顾的方法?
之前没有描述清楚,补充下,这些条件判断是判断循环外的某个变量的值,然后根据这个变量不同的值,对循环内的数据做不同的处理,例如有个全局变量,存储的是时间类型,如果值是“天”,则循环内的数据按照“每日”来处理,如果值是“时”,则循环内的数据按照“每小时”处理。
你这个还得看for循环的次数
既然那些if语句可以写在循环外面,说明和循环变量无关。也就是说,在循环中多次重复执行if语句不成立,能够写成只执行一次。所以,应该选择第二种。
太早考虑优化是没有意义的,你应该先怎么简单怎么写,然后再按实际情况考虑如何优化。
没有事先明确循环的次数,何不使用 while(){}试试,也许能满足你的要求 , 使用switch会简洁点吧