一个java编码效率的问题

gjf66924011 2016-06-07 04:04:39
我要实现一个功能,现在有两个方案,不知道如何取舍
方案一:

if(){
while(){
print(0);//这里输出常量
}
}else{
while(){
print(x);//这里输出变量
}
}


方案二:

while(){
if(){
print(0);
}else{
print(x);
}
}


具体逻辑就不写了,意思就是方案一会有重复书写的代码,但是方案二要每次循环都执行if内的判断,所以不知道该使用哪种?
...全文
186 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
解开者 2016-06-08
  • 打赏
  • 举报
回复
其实逻辑一样的话,效率差别很小,可以忽略。这时候可以优先考虑别的,比如减少冗余代码。 比如java经常要求把公共逻辑写成公共方法,多一层方法调用产生的性能开销远比执行一个if语句高多了,但在实践编码规范的角度看,这又是值得的
  • 打赏
  • 举报
回复
功能可能不一样啊。 如果if里面的变量会随着while语句而改变,那当然是第二种了,如果不是就第一种
幺客 2016-06-08
  • 打赏
  • 举报
回复
我稍微想了一下,1確實可以降低循環,但是卻需要多次判斷,2則相反,所以我給出的建議是看具體情況,若只存在一次循環,那先判斷再循環(遍曆)一次就好,若需要多次循環,那建議使用先循環再判斷
快乐先生 2016-06-08
  • 打赏
  • 举报
回复
如果第一种方案和第二种方案循环的条件相同,建议使用第一种方案,这样的话使用第一种方案少了很多判断,对于相同 的代码块,可以抽出来写成一个方法进行调用。
vswen5 2016-06-07
  • 打赏
  • 举报
回复
第一种 可以降低循环

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧