У меня есть этот код Java 8:
for(int i=0;i<1000;i++) {
int a = calculate(i);
for(int j=0;j<a;j++) {
System.out.println("a="+a+", j="+j);
}
}
Это возможно для a
быть <= 0, и он, конечно, не будет печатать, но все же инициализирует j
каждый раз? В таком случае, разве вы не хотите проверить a
заранее вот так ?:
for(int i=0;i<1000;i++) {
int a = calculate(i);
if(a<=0) {
continue;
}
for(int j=0;j<a;j++) {
System.out.println("a="+a+", j="+j);
}
}
Какой из них предпочтительнее, if
или проверка, которую выполняет цикл? Если a<=0
более 500 из 1000 раз, меняет ли это ответ? Как насчет менее 50 тысяч из 100 тысяч чеков?