第一个:
if(){
if(){
....//a="*";
}else{
....//a="*";
}
}else{
if(){
....//a="*";
}else{
....//a="*";
}
}
return a;第二个:
if(){
if(){....//a="*";return a;
}else  ....//a="*";return a;
}else  if(){  ...//a="*";return a;
}else  ....//a="*";return a;return a;
那个实行效率高? 所谓的OO技术是不是第二种 执行程序后就直接返回了....

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【xyflash】截止到2008-07-23 07:03:17的历史汇总数据(不包括此帖):
    发帖的总数量:229                      发帖的总分数:2845                     每贴平均分数:12                       
    回帖的总数量:297                      得分贴总数量:68                       回帖的得分率:22%                      
    结贴的总数量:205                      结贴的总分数:2390                     
    无满意结贴数:74                       无满意结贴分:1510                     
    未结的帖子数:24                       未结的总分数:455                      
    结贴的百分比:89.52 %               结分的百分比:84.01 %                  
    无满意结贴率:36.10 %               无满意结分率:63.18 %                  
    楼主加油
      

  2.   

    这个两个方法要看条件出现的概率了;
    如果假设同一层条件出现的概率相同的情况下:
    第一个:无论条件走那个分支,都需要判断 2 次;
    第二个:假设最外层的 if、else if、else 条件出现几率相同;
    那么如果走 if 则需要判断 2 次;
    如果走 else if 则需要判断何其同层的 if 条件不满足,然后在判断自己,所以也需要 2 次;
    如果走 else 则说明前两个 if、else if 条件不满足,所以才走了自己,所以说明也需要 2 次判断;综上所述,在条件概率均等的情况下,效率是一样的;