„Hey, junger Rekrut, der selbst in den einfachsten Programmen jeden Tag eine Menge Fehler macht!
„Ähm... Hallo, Diego. Junge, du weißt wirklich, wie man Leute aufheitert!“
„Natürlich tue ich das! Lernen Sie zu sagen, was gesagt werden muss. Wie ich schon sagte: ‚Jeden Tag‘. Um es höflicher auszudrücken: Meine Begrüßung bedeutet „zukünftiger erfolgreicher Programmierer, wenn Sie es natürlich nicht vermasseln.“ ."
„Oooh, dann danke, mein metallischster Lehrer! .
„Nach dieser Lektion werden Sie mir danken. Hier werde ich die häufigsten vom Compiler festgestellten Fehler auflisten. Und Ihre Aufgabe ist es, sich daran zu erinnern. Vorgewarnt ist gewappnet.
Ein Semikolon vergessen
„Der häufigste Fehler, den angehende Java-Programmierer machen, betrifft das Semikolon. Oder besser gesagt, sein Fehlen dort, wo es sein sollte.“
„Die Wahrheit ist... ich habe dieses Vergehen wiederholt begangen.“
„Jede Anweisung innerhalb einer Methode muss mit einem Semikolon enden. Das Semikolon trennt Anweisungen oder Befehle: Auf diese Weise teilen wir dem Java-Compiler mit, wo ein Befehl endet und der nächste beginnt.“
Beispiele für Fehler:
Falscher Code | Richtiger Code |
---|---|
|
|
|
|
|
|
Vergessen, Anführungszeichen zu schließen
„Der zweithäufigste Fehler von Java-Neulingen besteht darin, eine Zeichenfolge in den Code zu schreiben und dann zu vergessen, das Anführungszeichen zu schließen.“
Jedes String-Literal im Code muss auf beiden Seiten in doppelte Anführungszeichen (") eingeschlossen werden. Programmieranfänger setzen sehr oft Anführungszeichen am Anfang des Textes, vergessen aber, sie am Ende zu schließen.
Falscher Code | Richtiger Code |
---|---|
|
|
|
|
|
|
Beim Zusammenkleben von Saiten wurde vergessen, ein Pluszeichen einzufügen
„Ein weiterer häufiger Fehler bei der Arbeit mit Zeichenfolgen ist das Vergessen, beim Zusammenkleben von Zeichenfolgen ein Pluszeichen zu schreiben. Dieser Fehler tritt besonders häufig auf, wenn Text und Variablen in einem langen Ausdruck im Code verkettet werden.“
Hier sind einige Beispiele:
Falscher Code | Richtiger Code |
---|---|
|
|
|
|
|
|
Vergessen, geschweifte Klammern zu schließen
„Das ist ein sehr häufiger Fehler. Es gibt zwei Situationen, in denen das typisch ist:
- Sie haben sich entschieden, Code von irgendwoher zu kopieren und haben versehentlich einige geschweifte Klammern übersehen.
- Sie machen sich einfach nicht die Mühe, sicherzustellen, dass jeder offenen Klammer eine schließende Klammer entspricht.
„Die zweite Möglichkeit ist, was ich tue. Manchmal übertreibe ich es so sehr, dass ich es vergesse!“ .
„Um diese Fehler zu vermeiden, wird Programmieranfängern normalerweise empfohlen, die schließende geschweifte Klammer unter die öffnende zu schreiben.
Beispiele:
Falscher Code | Richtiger Code |
---|---|
|
|
|
|
Ich habe vergessen, Klammern hinzuzufügen
„Am häufigsten wird dieser Fehler von Entwicklern gemacht, die Programmiersprachen beherrschen, die in ähnlichen Situationen keine Klammern erfordern.
Eine Möglichkeit besteht darin, dass sie einfach vergessen, am Ende eines Methodenaufrufs Klammern zu setzen:
Eine andere Möglichkeit besteht darin, dass sie vergessen, die Bedingung einer if-else
Anweisung in Klammern zu setzen.
Beispiele:
Falscher Code | Richtiger Code |
---|---|
|
|
|
|
main
Methodendeklaration falsch geschrieben
„Sobald sie die verdammte main
Methode deklarieren! Es gibt wahrscheinlich nichts, was Neulinge so sehr aus der Fassung bringt wie diese schlechte Methode. Wichtig ist, dass sie dann immer überrascht sind und sich fragen, warum ihr Programm nicht startet? Und der Programmierer natürlich nicht.“ Schuld daran ist nicht das Programm, der Compiler, der Code-Validator, die Java-Maschine usw. Die Liste der Sündenböcke ist endlos.
Beispiele:
Falscher Code | Erläuterung |
---|---|
|
public wird vermisst |
|
static wird vermisst |
|
void wird vermisst |
|
public und static fehlen |
|
[] wird vermisst |
|
String[] args wird vermisst |
|
Wir haben int stattdessenvoid |
Der Dateiname unterscheidet sich vom Klassennamen
„Nach dem Java-Standard müssen alle Java-Klassen in einer Datei mit demselben Namen wie der Klassenname gespeichert werden. Und wie bereits erwähnt, kommt es hier auf die Groß-/Kleinschreibung der Buchstaben an:
Dateinamen | Klassenname | Notiz |
---|---|---|
Lösung.java | Lösung | Alles ist gut |
Lösung s .java | Lösung | Der Dateiname als überflüssiger Buchstabe „s“ |
lösung.java _ | Lösung | Der Dateiname beginnt mit einem Kleinbuchstaben |
Lösung. txt | Lösung | Die Dateierweiterung ist .txt statt .java |
Lösung.java | Lösung | Der Klassenname beginnt mit einem Kleinbuchstaben |
„Eigentlich können in einer Datei mehrere Klassen mit der Erweiterung .java deklariert werden, aber nur eine davon darf das Wort public
vor dem Klassennamen haben. Und dieser Name muss mit dem Dateinamen übereinstimmen.“
„Eine .java-Datei muss immer eine Klasse haben, deren Name mit dem Dateinamen übereinstimmt, und diese Klasse muss den public
Modifikator haben. Beispiel:
Lösung.java |
---|
|
„Außerdem können Sie mit der Java-Sprache Klassen innerhalb von Klassen schreiben. Dies ist eine weitere Möglichkeit, die oben genannte Einschränkung zu umgehen. Wenn eine öffentliche Klasse (eine Klasse mit dem Modifikator) in einer Datei deklariert ist public
und denselben Namen wie der Dateiname hat, Dann können Sie innerhalb dieser öffentlichen Klasse beliebig viele Klassen deklarieren. Das heißt, es handelt sich dabei nicht mehr um gewöhnliche Klassen, sondern um interne oder verschachtelte Klassen. Beispiel:
Lösung.java |
---|
|
Vergessen zu schreibenpackage
„Da Programme normalerweise Tausende von Klassen haben, kann es schwierig sein, einfache, verständliche und eindeutige Namen für alle zu finden. Deshalb ist es in Java üblich, Klassen mithilfe des Schlüsselworts in Pakete zu gruppieren. Genau so, wie die Dateien gruppiert werden. package
“ in Ordner.
„Ah-ha, deshalb sollte jede Klasse mit einer Angabe des Pakets beginnen, zu dem sie gehört.“
„Genau. Hier ein Beispiel:
Code ohne Paket | Korrigiertes Beispiel |
---|---|
|
|
Ich habe vergessen hinzuzufügenimport
„Wenn wir die Klasse einer anderen Person in unserem Programm verwenden wollen, haben wir zwei Möglichkeiten: Überall in unserem Code müssen wir auch ihren Paketnamen vor den Namen der Klasse schreiben. Alternativ können wir den vollständig qualifizierten Klassennamen mit dem Schlüsselwort einmal schreiben. import
“ . Beispiel:
Ohne Import zu verwenden | Import verwenden |
---|---|
|
|
„Beide Optionen funktionieren, aber wenn Sie einfach Scanner
Ihren Code schreiben, ohne hinzuzufügen import
, kann der Compiler nicht erkennen, Scanner
aus welchem Paket er die Klasse übernehmen muss, und Ihr Programm lässt sich nicht kompilieren.“
„Danke, Diego. Diese Lektion wird mich dazu bringen, mehr Aufmerksamkeit zu schenken.“
„Damit habe ich gerechnet. Viel Glück!“