Verständnisproblem Marken und Schleifen

D

Daena

Gast
Hallo ihr Lieben!

Vor kurzem habe ich mit einem 14 Tage Java-Kurs (PDF) angefangen; Eine Aufgabe bereitet mir jetzt ziemliches Kopfzerbrechen und ich komme auf keinen grünen Zweig. (Vielleicht stehe ich auch nur auf der Leitung und es ist ein grundliegendes Verständnisproblem.) Wäre wirklich großartig, wenn mir hierbei jemand helfen könnte...

Die Aufgabenstellung gibt folgenden Quellcode vor; man soll ihn einfach nur verstehen:

Java:
public class Tag3Uebung9{

	public static void main(String [] args){

      SprungZuI:                 
      for (int i=0; i<=2; i++){ // III
      System.out.println("III "+i);
      
          SprungZuJ:                 
          for (int j=0; j<=2; j++){ // JJJ 
          System.out.println("JJJ "+j);
          
              for (int k=0; k<=2; k++){ /// KKK   
               System.out.println("KKK "+k);
              
                  if (k==1){          
                  System.out.println("!SPRUNG! k=1: k="+k);
                  break SprungZuJ;
                  }
                  
              } /// KKK
              
          } // JJJ
          
      } // III
		
	}

}

Was ich vermuten würde wäre:

III 0
JJJ 0
KKK 0
KKK 1
JJJ 1
KKK 0
KKK 1
JJJ 2
KKK 0
KKK 1

III 1
... alles nochmal für III 1
... alles nochmal für III 2

Er gibt aber aus:

III 0
JJJ 0
KKK 0
KKK 1
III 1
JJJ 0
KKK 0
KKK 1
III 2
JJJ 0
KKK 0
KKK 1

- Warum srpingt er nach dem ersten KKK 1 nicht zu SprungZuJ sonder zu SprungZuI?
- Und warum kommt ein Fehler wenn ich direkt unter eine Sprungmarke SprungZuJ: einen System.out.println setze der mir eine Ausgabe machen soll? Warum spielt es eine Rolle was unter dem Marker steht, wenn das Programm doch nur hinspringen soll?

Da i,j und k in den Schleifen immer wieder enu deklariert werden, starten sie doch immer wieder bei 0. Hm, müsste dann nicht mit dem Quellcode nicht eine Endlosschleife rauskommen? Hilfe!!

Total verwirrt,
die Daena
 

nrg

Top Contributor
schreib mal statt break continue, dann kommt imho genau das raus, was du vermutet hast. nachdem ich break und continue eigentlich so gut wie nie benutze kann ich nurnoch versuchen mich wage an meinen java kurs zu erinnern bzw. das einfach frei zu übersetzen. break springt zu der angegebenen Sprungmarke aber übergeht die nächste kontrollstruktur. continue macht eben genau das nicht. wie gesagt, falls es technisch nicht 100% richtig ist, lass ich mich auch gern eines besseren belernen :).
 

hansmueller

Bekanntes Mitglied
Hallo

probier mal das aus:
Java:
public class MainProg
{
    public static void main(String[] args)
    {

        ganzaussen : while (true)
        {
            if (true)
            {
                for (int i = 0; i < 5; i++)
                {
                    if (true)
                    {
                        break ganzaussen;
                    }

                }
                System.out.println("hinter for");
            }
            System.out.println("hinter if");
        }
        System.out.println("hinter while");
    }

}

Java 5 - Die praktische Referenz hat gesagt.:
Die break-Anweisung in der for-Schleife springt zu der Sprungmarke ganzaussen, sprich zur äußeren while-Schleife, die sofort beendet wird. Der Code, so, wie er hier steht, erzeugt daher nur ein einzige Ausgabe: hinter while

Anmerkungen

  • Die continue-Anweisung kann nur zu Zielen springen, die auf den Kopf einer umliegenden Schleife verweisen. Die aktuelle Iteration der Schleife wird daraufhin beendet, die Schleife mit der nächsten Iteration fortgesetzt.

  • Die break-Anweisung kann zu beliebigen umliegenden Schleifen- oder Verzeigungsköpfen springen. Die Scheife/Verzweigung, die angesprungen wird, wird daraufhin direkt beendet und das Programm mit der Anweisung unter der Schleife/Verzweigung fortgesetzt.

Ersetze also das break durch continue und du hast das Ergebnis, welches du vermutet hast.


MfG
hansmueller
 

Sonecc

Gesperrter Benutzer
Beachte aber, dass diese Art der Programmierung veraltet ist und nicht mehr genutzt werden sollte (sofern möglich)
 
D

Daena

Gast
Das erklärt's!! Vielen lieben Dank euch, ihr glaubt nicht wie ratlos ich da war! =)

@Sonecc: Hm, wenn Du damit strukturierte Programmierung meinst, jab. OOP kommt glaub ein paar Kapitel später dran, bin auch gespannt wie das wird.

Sonnige Grüße,
die Daena
 
D

Daena

Gast
Hallo Kevin!

Es ist der Java Intensivkurs von Marco Block, einem Info-Prof. aus Berlin.
Puh, gute Frage. Hab ihn glaub ich mal von einem Kommilitonen bekommen, bin mir da aber auch nicht ganz sicher.

Finde ihn eigentlich nicht verkehrt, soweit ich das beurteilen kann. Nur eben das mit den Schleifen fand ich im Kurs etwas zu knapp erklärt. =)

Liebe Grüße,
die Daena
 

xKevinx

Mitglied
Hallo Daena,
meinst du , du könntest mir den irgendwie zu kommen lassen ?
Hab zwar vor mir das Insel Buch zu kaufen :p , aber muss erstmal auf Gehalt warten und bis dahin wär das vllt eine Option =)
lg Kevin
 
T

Tomate_Salat

Gast
Da gehen die Meinung ziemlich auseinader:

Als ich mit Java Insel angefangen hatte, dachte ich, ich lese ein Lexikon. Würde das auch nicht als Anfängerwerk empfehlen.
 
T

Tomate_Salat

Gast
ich habe mit Studentenscripten im Praktikum sehr viel gelernt. Hab in einer Woche das geschafft, wofür studenten 2 Wochen zeit hatten (hab für das praktikum auch ein super zeugnis bekommen :D). Eine Buchempfehlung kann ich daher nicht geben, da ich einfach keine Einstiegsliteratur mehr benötigt habe.
 

xKevinx

Mitglied
Naja gut, einstiegslecktüre ich kann meinen stand schlecht einschätzen... ich hab hier mit nem unipraktikanten schon nen projekt umgesetzt bzw bin dabei.
Nen tunier .. spieler aufnehmen , matches für jeder gegen jeden erstellen und bin gerade dran nun nurnoch die tabelle auszugeben.Also kann mit klassen, objekten,listenern und handlern z.b. schon was anfangen ..
 

nrg

Top Contributor
Kommt drauf an, wo du hin willst.

für die Basics ganz klar gailer.net. Danach müsstest dir auf jedenfall noch Collections zu Gemüte führen. Die sind nämlich leider in dem gailer-Tutorial nur beschränkt verfügbar. Wennste das alles begriffen hast, kannste dir die Insel für den Rest vornehmen.

Für technische Hintergründe bzw. Vorbereitung auf z.B. das SCJP den anderen Link von oben, Fragebögen von killer und das SCJP-Buch.
 
D

Daena

Gast
Dann hat sich das wohl erübrigt... und ich hab weitere Lernhilfen. =) Danke, Leute!

Die Daena
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Verständnisproblem bei Server/Client Java Basics - Anfänger-Themen 3
nonickatall Grundsätzliches Verständnisproblem des Aufbaus eines Programms Java Basics - Anfänger-Themen 19
X Verständnisproblem Call-By-Reference Java Basics - Anfänger-Themen 5
P JavaFX: Verständnisproblem bei ComboBox/ChoiceBox etc. Java Basics - Anfänger-Themen 9
T Verständnisproblem mit Assoziationen Java Basics - Anfänger-Themen 7
M Verständnisproblem der Rekursion bei Arrays Java Basics - Anfänger-Themen 8
A Erste Schritte Verständnisproblem Java Basics - Anfänger-Themen 5
S Verständnisproblem Aufgabe Java Basics - Anfänger-Themen 9
S Model View Controller: Verständnisproblem Java Basics - Anfänger-Themen 13
temi Verständnisproblem Class.forName() Java Basics - Anfänger-Themen 3
2 Verständnisproblem bei Anwendung von Lower Bounded Wildcards Java Basics - Anfänger-Themen 5
V Verständnisproblem Java Basics - Anfänger-Themen 22
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
J Verständnisproblem einer Methode Java Basics - Anfänger-Themen 20
M Konstruktur - Verständnisproblem Java Basics - Anfänger-Themen 4
C Postinkrement und println - Verständnisproblem Java Basics - Anfänger-Themen 8
T Verständnisproblem beim Vigenere-Verfahren Java Basics - Anfänger-Themen 2
Q MVC Verständnisproblem: Controller vs model.modelChanged() Java Basics - Anfänger-Themen 0
N Verständnisproblem InsertionSort. Java Basics - Anfänger-Themen 2
D Verständnisproblem Java Basics - Anfänger-Themen 2
B VerständnisProblem mit Beispielaufgabe aus Buch Java Basics - Anfänger-Themen 1
H Polymorphie Verständnisproblem Vererbung/Polymorphie Java Basics - Anfänger-Themen 4
FrankR2 Grundsätzliches Verständnisproblem: Java 32/64-bit; Windows 7/8, 32/64-bit-System Java Basics - Anfänger-Themen 5
S Verständnisproblem bei Interfaces Java Basics - Anfänger-Themen 6
V Verständnisproblem Java Basics - Anfänger-Themen 5
V Arrays-verständnisproblem Java Basics - Anfänger-Themen 4
M Collections HashSet verständnisproblem Java Basics - Anfänger-Themen 9
S Verständnisproblem einer Übungsaufgabe Java Basics - Anfänger-Themen 6
H Abstrakte Basisklasse Verständnisproblem! Java Basics - Anfänger-Themen 8
G Verständnisproblem mit swing Java Basics - Anfänger-Themen 6
F Methoden Cannot refer to a non-final variable.. verständnisproblem. Java Basics - Anfänger-Themen 7
P Verständnisproblem main Methode Java Basics - Anfänger-Themen 9
S Klassen Verständnisproblem Konstruktor Java Basics - Anfänger-Themen 7
I e.getMessage(); - Verständnisproblem Java Basics - Anfänger-Themen 6
lesni Vererbung Vererbung - Verständnisproblem Java Basics - Anfänger-Themen 2
M OOP Polymorphie/Vererbung Verständnisproblem Java Basics - Anfänger-Themen 2
J Verständnisproblem Methoden-Kettung Java Basics - Anfänger-Themen 3
A Vererbung Verständnisproblem bei Übung Java Basics - Anfänger-Themen 5
E Verständnisproblem Typkonvertierung Java Basics - Anfänger-Themen 4
S OOP Verständnisproblem Umsteiger Java Basics - Anfänger-Themen 22
C Array Verständnisproblem Java Basics - Anfänger-Themen 3
P White-Box-Test Verständnisproblem Java Basics - Anfänger-Themen 11
D : ? Operator -Verständnisproblem Java Basics - Anfänger-Themen 24
G Verständnisproblem: Exceptions Java Basics - Anfänger-Themen 17
L Eclipse verlangt "{" nach ";"... Verständnisproblem Java Basics - Anfänger-Themen 5
D charAt(i) verständnisproblem Java Basics - Anfänger-Themen 4
M Verständnisproblem bei Ternären Operanten bzw. Bedingungsoperator Java Basics - Anfänger-Themen 8
T Datentypen Verständnisproblem mit main Methode Java Basics - Anfänger-Themen 3
M Verständnisproblem Threads Java Basics - Anfänger-Themen 7
X Threads und synchronized - Verständnisproblem Java Basics - Anfänger-Themen 3
W ArrayLists: Verständnisproblem bei remove() Java Basics - Anfänger-Themen 2
B Verständnisproblem zu Swing und Methoden Java Basics - Anfänger-Themen 8
A Postinkrement-Verständnisproblem Java Basics - Anfänger-Themen 12
R Iterator Liste, Verständnisproblem Java Basics - Anfänger-Themen 4
1 Verständnisproblem mit Foreach Java Basics - Anfänger-Themen 4
B Verständnisproblem bei Vererbung Java Basics - Anfänger-Themen 3
W generisches Programmieren - Verständnisproblem Java Basics - Anfänger-Themen 4
A Verständnisproblem Nr 2 Java Basics - Anfänger-Themen 14
A Verständnisproblem Java Basics - Anfänger-Themen 6
A Array Verständnisproblem Java Basics - Anfänger-Themen 8
G Verständnisproblem --> JTree Java Basics - Anfänger-Themen 6
M Verständnisproblem mit der Klasse Thread Java Basics - Anfänger-Themen 10
N BufferedReader Verständnisproblem Java Basics - Anfänger-Themen 12
G Verständnisproblem: Code kompelieren und interpretieren Java Basics - Anfänger-Themen 3
S Polymorphie Verständnisproblem Java Basics - Anfänger-Themen 4
G Verständnisproblem Türme von Hanoi Java Basics - Anfänger-Themen 4
G Verständnisproblem Serverinput einlesen. Java Basics - Anfänger-Themen 4
J Array und Schleifen Verständnisproblem Java Basics - Anfänger-Themen 25
G Verständnisproblem Java Basics - Anfänger-Themen 4
N Verständnisproblem: Mehrere Objekte einer Klasse erstellen Java Basics - Anfänger-Themen 2
S SelectionListener + repaint().Verständnisproblem ;) Java Basics - Anfänger-Themen 7
V Verständnisproblem mit Abstrakten zu Konkreten Klassen Java Basics - Anfänger-Themen 7
A Problem mit der Stringgrösse, bzw Verständnisproblem? Java Basics - Anfänger-Themen 14
A Verständnisproblem mit ScrollPanel Java Basics - Anfänger-Themen 3
R Verständnisproblem mit Hibernate Java Basics - Anfänger-Themen 2
T Verständnisproblem mit equals() Java Basics - Anfänger-Themen 4
N datei byte für byte auslesen (verständnisproblem) Java Basics - Anfänger-Themen 2
T Verständnisproblem packages/import Java Basics - Anfänger-Themen 9
Chucky Lineare Listen Programm Verständnisproblem Java Basics - Anfänger-Themen 38
D Verständnisproblem Java Basics - Anfänger-Themen 6
S for Schleifen: Verständnisproblem Java Basics - Anfänger-Themen 15
T Vererbung von Attributen und Methoden, Verständnisproblem Java Basics - Anfänger-Themen 4
bernd while-Schleife: Verständnisproblem Java Basics - Anfänger-Themen 7
S verständnisproblem drucken Java Basics - Anfänger-Themen 11
G GridBagLayout: Verständnisproblem Java Basics - Anfänger-Themen 5
T schleifen Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
S Erste Schritte While Schleifen Java Basics - Anfänger-Themen 11
M geschachtelte for-Schleifen - Einmaleins ausgeben Java Basics - Anfänger-Themen 3
Mikejr Schleifen Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
K geschachtelte "for-Schleifen" Java Basics - Anfänger-Themen 3
Alen123 Potenzen in Schleifen Java Basics - Anfänger-Themen 26
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A Schleifen und Boolsche Ausdrücke Java Basics - Anfänger-Themen 42
W Schleifen Java Basics - Anfänger-Themen 36
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
Mojtaba1986 Hausaufgabe (Schleifen) Java Basics - Anfänger-Themen 33
A Schleifen Verzweigungen Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Neue Themen


Oben