debugging in Java
Finde ein falsches Ergebnis, indem du die Werte druckst, die du schon hast, und korrigiere dann die schlechte Zeile. In Yard.java setze int x = 10; und int y = 2;. Drucke x und y. Berechne absichtlich int sum = x - y; und drucke sum. Kompiliere mit javac Yard.java und starte java Yard. Der Bildschirm soll die beiden Werte zeigen und dann 8. Eine zweite Demo aendert den Operator zu +, sodass sum 12 druckt. Lass Javadoc fuer die naechste Seite — diese Lektion liest den Bildschirm, um einen Logikfehler zu fangen.
Werte um eine falsche Summe drucken
Die equals-Seite verglich String-Text. Diese Seite jagt eine schlechte Rechenzeile. Oeffne Yard.java. Halte den oeffentlichen Klassennamen Yard. Loesche uebrige equals / ==-Demos, wenn sie die Debug-Geschichte begraben, uebrige Machine-horn-Dateien, Pfaddemos und jeden Tastatur-Scanner. Das Programm darf nicht auf Tippen warten. Du brauchst keine Importzeile.
In Yard.main setze die Zahlen und drucke sie, bevor du der Summe vertraust:
int x = 10;
int y = 2;
System.out.println("x=" + x);
System.out.println("y=" + y);
Dann behalte fuer die erste Demo absichtlich eine fehlerhafte Zeile:
int sum = x - y;
System.out.println(sum);
Die Drucke von x und y beweisen die Eingaben. Das gedruckte 8 beweist, dass der Operator fuer eine Summe falsch ist.
public class Yard {
public static void main(String[] args) {
int x = 10;
int y = 2;
System.out.println("x=" + x);
System.out.println("y=" + y);
int sum = x - y;
System.out.println(sum);
}
}
Aus dem Ordner, der Yard.java haelt, starte javac Yard.java. Wenn Klammern, geschweifte Klammern und Semikolons passen, schreibt javac keine eigene Zeile. Dann starte java Yard — nicht java Yard.java. Lass die Endung .java beim Startbefehl weg. Halte eine oeffentliche Klasse in der Datei, damit der Name zu Yard passt.
Der Bildschirm zeigt x=10, dann y=2, dann 8. Geh den Lauf einmal durch. Java startet bei Yard.main. Die ersten beiden Drucke bestaetigen die gespeicherten Zahlen. Der dritte Druck zeigt das Ergebnis der Subtraktion, nicht der Addition. Das Programm hat kompiliert und gelaufen — das ist ein Logikfehler, kein fehlendes Semikolon.
Rechne einmal auf Papier neben dem Bildschirm: zehn minus zwei ist acht. Das passt zur letzten Zeile, also ist der Bug kein falscher Variablenwert; der Bug ist der Operator, den du fuer eine Summe gewaehlt hast. Wenn die gedruckten Eingaben richtig wirken und das Ergebnis falsch, suche den Ausdruck, der das Ergebnis gebaut hat.
Wenn du noch true / false aus einer equals-Datei siehst, wechsle zur Debugging-Lehrdatei und starte java Yard erneut. Wenn du den Operator aenderst, ohne x und y zu drucken, rattest du im Dunkeln. Behalte die Wertedrucke, bis der Bildschirm zu dem passt, was du fuer die Eingaben erwartest. Lass temporaere Labels stehen, waehrend du jagst; du kannst sie aufraeumen, nachdem der Fix bewiesen ist.
Sag die Regel laut, waehrend du den Bildschirm beobachtest: drucke die Fakten, lies das falsche Ergebnis, dann aendere die Zeile, die es verursacht hat. Erfinde auf dieser Seite keinen Javadoc-Kommentarblock als Fix. Javadoc wartet auf die naechste Lektion.
Operator korrigieren und erneut starten
Ein zweites Programm behaelt dieselben Drucke von x und y. Die Summenzeile nutzt + statt -. Der letzte Druck soll 12 zeigen.
public class Yard {
public static void main(String[] args) {
int x = 10;
int y = 2;
System.out.println("x=" + x);
System.out.println("y=" + y);
int sum = x + y;
System.out.println(sum);
}
}
Kompiliere mit javac Yard.java, dann starte java Yard. Der Bildschirm zeigt x=10, dann y=2, dann 12. Die Eingaben haben sich nicht geaendert. Der Operator hat sich geaendert. Das ist die Debug-Schleife fuer diese Anfaengerform: sieh die Werte, erkenne die schlechte Operation, fixe sie, kompiliere erneut, starte erneut.
Lies die Summenzeile noch einmal: int sum = x + y;. Behalte die Label-Drucke, damit ein spaeterer Fehler weiterhin die Eingaben zeigt. Wenn die letzte Zahl zu 10 + 2 passt, ist die Logikzeile fuer diese Demo gefixt. Vergleiche die beiden Lehrdateien nebeneinander, falls beide offen sind: der einzige absichtliche Unterschied sollte - gegenueber + auf der Summenzeile sein.
Wenn uebrige equals-Demos noch in der Naehe liegen, behalte sie als Geschichte. Fuer diese Lektion starte die Debugging-Lehrdatei, damit der Bildschirm Zahlen zeigt, nicht String-Booleans. Wenn javac ueber doppelte oeffentliche Klassen klagt, halte nur Yard public.
Die Tabelle ist die kurze Landkarte dieser Seite. Zuerst schaust du. Dann druckst du. Dann aenderst du eine klare Zeile und pruefst. Rate nicht ohne Bildschirm. Loesche nicht alle Drucke, bevor du weisst, dass der Fix funktioniert hat.
📊 Beginner debug steps on Yard
| Step | What you do |
|---|---|
| 1 | Run java Yard and read every printed line |
| 2 | Add println for the values you distrust |
| 3 | Fix the bad operator or condition, then compile and run again |
Verglichen mit equals-Pruefungen
Auf der equals-Seite antworteten equals und == Inhalt gegen Identitaet fuer Strings. Auf dieser Seite antwortet println, was deine Zahlen wirklich sind, wenn ein Ergebnis falsch wirkt. Du kompilierst weiterhin Yard.java und startest java Yard. Die neuen Gewohnheiten sind gelabelte Wertedrucke, ein falsches Ergebnis als Hinweis lesen und nach einem Einzeilen-Fix erneut starten.
Debugging ist hier kein Sonder-Menue. Es ist gewoehnliche Ausgabe als Taschenlampe auf deine eigenen Variablen. Wenn die Taschenlampe gute Eingaben und ein schlechtes Ergebnis zeigt, ist der Ausdruck, der das Ergebnis gebaut hat, der Verdachtige.
Wenn eine uebrige a.equals(b)-Datei noch offen ist, siehst du true und false. Wechsle zur Debugging-Datei, damit main x, y und sum druckt. Halte Javadoc-Demos von dieser Seite fern. Halte Tastatureingabe von dieser Seite fern.
Vor Javadoc
Du kannst x und y drucken, einen Minus-Bug behalten und nach den Labels 8 sehen. Du kannst den Operator auf Plus aendern und 12 sehen. Kompiliere Yard.java und starte java Yard fuer jede behaltene Demo der Reihe nach. Der Bildschirm sagte dir, wo die Logik scheiterte. Die naechste Seite ist Javadoc, wo du Methoden mit besonderen Kommentaren fuer Leser und Werkzeuge dokumentierst.
Behalte die fehlerhafte Demo fuer einen klaren falschen Bildschirm. Behalte die gefixte Demo fuer einen klaren Pruefschritt. Halte Javadoc-Dateien von dieser Seite fern. Diese drei Gewohnheiten sind der Checkpoint, bevor du weitergehst. Wenn gelabelte Drucke plus eine korrigierte Summe zu 10 + 2 passen, hat debugging fuer diese Lektion seine Arbeit getan und du bist bereit fuer das naechste Thema ueber Javadoc.
Ein letzter Gang durch den Ordner: ein oeffentliches Yard, Wertedrucke um die Summe, kein Tastaturwarten, keine erzwungenen Dokumentationskommentare. Starte javac Yard.java und java Yard noch einmal auf der Demo, die du offen haeltst. Wenn der Bildschirm noch die Eingaben und das Ergebnis zeigt, das du erwartest, ist die Debug-Schleife solid und der Kurs kann auf der naechsten Seite zu Javadoc wechseln. Bevorzuge einen klaren Fix nach dem anderen, damit jeder neue Lauf eine Aenderung lehrt.
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt