Blöcke bei verschachtelten Schleifen

Lestas89

Bekanntes Mitglied
Ich verstehe nicht wieso die Blöcke unterschiedliche Ausgaben verursachen:

Sorte 1:

public class Programm{
public static void main(String[]args){

for(int i = 1; i <= 5; i++){
for(int j = 1; j <= i; j++){
System.out.print("*" + " ");
System.out.println();
}
}
}
}


und Sorte 2:

public class Programm{
public static void main(String[]args){

for(int i = 1; i <= 5; i++){
for(int j = 1; j <= i; j++)
System.out.print("*" + " ");
System.out.println();

}
}
}


Wieso bekomm ich eine andere Ausgabe wenn ich in die Schleife noch einen Block reinsetze?
Vielen Dank im Voraus.
 
nutz bitte code tags für deinen Code.

Und zu deinem Problem:
Ganz einfach, wenn du die geschweiften Klammern weglässt, besteht das "innere" der schleife nur aus der nächsten anweisung.
Java:
for(int i = 1; i <= 5; i++){
  for(int j = 1; j <= i; j++)
    System.out.print("*" + " ");
  System.out.println();
}
d.h. das println() gehört somit nicht mehr in die Schleife über j
 
es ist nur im Block der Schleife über i enthalten aber nicht in der Schleife über j.
Dieser Code
Java:
for(int i = 1; i <= 5; i++){
  for(int j = 1; j <= i; j++)
    System.out.print("*" + " ");
  System.out.println();
}
ist äquivalent zu diesem:
Java:
for(int i = 1; i <= 5; i++){
  for(int j = 1; j <= i; j++) {
    System.out.print("*" + " ");
  }
  System.out.println();
}
 

Neue Themen


Zurück
Oben