Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Was willst du den dar mit zwei for schleifen machen? (Ich frage wirklich weil ich es wissen will, das ist also keine Rhetorischefrage, mir kommt nur keine Idee wozu man ne zweite schleife bräuchte)
Was willst du den dar mit zwei for schleifen machen? (Ich frage wirklich weil ich es wissen will, das ist also keine Rhetorischefrage, mir kommt nur keine Idee wozu man ne zweite schleife bräuchte)
das wäre nämlich der Fall, wenn sich deine Bedingung ändern würde. If-else-Konstrukte kannst du in Schleifen durchaus verwenden. switch-case übrigends auch ;-)
ich verstehe ehrlich gesagt überhaupt nicht die frage . was macht es denn für ein sinn, die schleife 2x zu durchlaufen und was soll daran schneller sein? ich meine, das kommt ganz auf deine bedingung an, aber im besten fall erzielst du mit 2 schleifen genauso viel iterationen wie mit einer schleife - im worst case doppelt soviel
edit: achsoo. deine bedingung ist nicht von der iteration abhängig? ja, dann verstehe ich jetzt auch, was du meinst . wenn die methoden einen return haben, bietet sich der ternäre operator an. ansonsten würde ich das aber auch eher in eine schleife packen...
Es kommt darauf an, wie aufwändig und leicht isolierbar die if-Abfrage ist, wie viel code in den beiden if-Fällen steht, und wie viel noch außerhalb der if-Abfrage, und welche Möglichkeiten zur Strukturierung man überhaupt hat. Sowas wie
Code:
final boolean condition = someCondition;
for (int i=0; i<n; i++)
{
// 1000 Zeilen code
....
if (condition) result+=1;
else result -= 1;
}
in zwei Schleifen zu packen (oder auch in zwei Methoden) mit jeweils 1000+1 Zeilen zu packen würde natürlich keinen Sinn machen. Sowas wie
Code:
final boolean condition = someCondition;
for (int i=0; i<n; i++)
{
if (condition)
{
// 1000 Zeilen code...
....
}
else
{
// 1000 komplett(!) andere Zeilen code
....
}
}
in EINE Schleife zu packen, genausowenig. Asymptotisch gesehen ist es gleich schnell, und eine if-Abfrage kostet SO wenig Zeit, dass es in den allermeisten Fällen vollkommen egal ist, und man sich absolut vorrangig überlegen sollte, was übersichtlicher, leichter wartbar und leichter erweiterbar ist.
WENN es wirklich absolut extremst zeitkritisch ist (was gerüchteweise ja auch mal vorkommen soll) dann wäre das, was Opi3 bzw. Antoras angedeutet haben natürlich theoretisch schneller, als bei jedem Schleifendurchlauf die Abfrage erneut zu machen. Aber... etwas herablassend gesagt: Wenn du code schreiben würdest, bei dem das eine Rolle spielt, hättest du die Frage nicht gestellt