Zum Verständnis des Artikels erforderlicher Kenntnisstand: Anfänger. Sie sind gerade dabei, die Java-Syntax-Quest zu studieren und nähern sich ihren Anfangsstufen.
Sie haben gerade angefangen, Java zu lernen. Wie aus einem Füllhorn werden Sie mit Begriffen bombardiert. Sie werden mit unzähligen technischen Informationen überhäuft und manchmal geraten Sie in dreifacher Hinsicht durcheinander. Glauben Sie mir, da Sie sich bereits mit dem Programmieren beschäftigt haben, WIRD ES IMMER SO SEIN (in diesem Moment ertönt aus dem Off ein unheilvolles Lachen, und eine leise Stimme, die mitten im Satz unterbrochen wird, flüstert „Lauf... rette dich vorher.“ es ist zu spät..."). Fehler werden Sie für den Rest Ihres Programmierlebens verfolgen, selbst wenn Sie der beste Entwickler sind. Das ist jedoch gar nicht so beängstigend, wie es klingt.
Wenn Sie gerade erst mit dem Erlernen von JavaRush begonnen haben, sind Sie höchstwahrscheinlich bereits auf die im Artikel angesprochenen Probleme gestoßen. Auf jeden Fall würden wir uns über Kommentare freuen, die die Probleme beschreiben, die Sie in den ersten Monaten Ihres Java-Lernens hatten. |
Problem der Ebene 0: Verwechslung mit dem Vergleichsoperator (==) und dem Zuweisungsoperator (=).
Dies ist ein sehr häufiges Problem für diejenigen, die von anderen Programmiersprachen wechseln. Und im Allgemeinen haben wir uns seit der Grundschule daran gewöhnt, dass
(=)
dies ein Gleichheitszeichen ist. Ein einfacher Trick, den Sie sich merken können, ist dieser: Wenn Sie wissen, dass Sie sich nur um einen der Werte kümmern (Sie weisen einen dem anderen zu), verwenden Sie ein einzelnes „
=
“-Zeichen, andernfalls, wenn Sie sich um alle Variablen kümmern und Werte (Sie vergleichen sie) benötigen Sie ein doppeltes „
==
“-Zeichen.
Problem: Verwendung des Vergleichsoperators (==), um die String-Äquivalenz zu testen
Was zu tun ist: Denken Sie daran, dass
mit keine Java-Objekte auf Äquivalenz überprüft werden können(==)
, da dieser Operator dazu gedacht ist, die Gleichheit primitiver Typen zu testen.
Für Objekte müssen Sie die verwenden
.equals()
. Und
String
in der Java-Sprache ist es nichts anderes als ein Objekt (und
immutable
).
Ein als markiertes Objekt Immutable ist ein Objekt, dessen Status nach der Erstellung nicht geändert werden kann. In Java bedeutet dies, dass alle Instanzfelder einer Klasse als final Primitive (oder auch immutable ) markiert sind und Primitive sind. |
Problem: String-Verkettung in einer Schleife
Versuchen Sie es nicht selbst! Jedes Mal, wenn Zeichenfolgen verkettet werden, wird ein neues Objekt erstellt
String
(wie wir oben herausgefunden haben,
immutable
sind Zeichenfolgen unveränderlich). Irgendwann wird Ihnen der Arbeitsspeicher ausgehen oder die Ausführung des Programms wird zu lange dauern.
Lösung. Verwenden Sie
StringBuilder
diese Option stattdessen
String
, wenn Sie Inhalte in einer Schleife verketten. Die Klasse
StringBuilder
wird verwendet, wenn Sie viele Änderungen an einer Zeichenfolge vornehmen müssen. Und solche Zeilen
String
sind im Gegensatz zu nicht
immutable
.
Problem: NullPointerException
Diese Art von Ausnahme tritt auf, wenn wir versuchen, einen Nullzeiger zu verwenden,
null
obwohl wir tatsächlich ein reales Objekt benötigen.
Alle primitiven Typen haben Standardwerte. Also int ist y 0 und y boolean ist false . Der Standardwert aller Referenztypen, also Objekte, ist null . Es handelt sich nicht um ein Objekt oder einen Typ, sondern um einen besonderen Wert. Was im Wesentlichen bedeutet: „Hier ist nichts.“ |
Was zu tun ist: Wenn Ihr Code so geschrieben ist, dass Ihr Objekt irgendwann den Wert akzeptieren kann
null
, müssen Sie eine „Prüfung auf“ hinzufügen
null
, insbesondere wenn Sie das Objekt nicht selbst erstellen. Denken Sie auch daran, dass es besser ist, leere Sammlungen als eine Reihe von „s“ zurückzugeben
null
. Es wäre auch schön, eine Validierung für Getter und Setter hinzuzufügen.
Problem: Aus irgendeinem Grund funktioniert die if/while/for-Schleife nicht
if (something.equals («что-то еще»)); {
System.out.println («Почему я не работаю???»);
}
Was ist hier los? Es ist ganz einfach: Ein zusätzliches Semikolon hat Hunderttausenden Java-Programmieranfängern das Blut verdorben. Nun, danach brauchen Sie es nicht mehr
if ()
. Aus sprachlicher Sicht ist eine solche Syntax durchaus akzeptabel, sodass sich der Compiler nicht darüber beschweren wird. Aber es beendet die bedingte Anweisung und der Code innerhalb des Blocks
{}
wird die obige Bedingung niemals erfüllen.
Lösung: Denken Sie an die Designlogik. Das „
;
“-Zeichen bedeutet das Ende eines bestimmten Blocks, aber hier fängt alles gerade erst an.
Problem: Versuch, über statische Methoden (z. B. main) auf nicht statische Mitgliedsvariablen zuzugreifen
Lösung . Dieses Problem hängt mit dem Verständnis des Konzepts selbst zusammen
static
. Wenn eine Methode mit diesem Wort gekennzeichnet ist, bedeutet dies, dass wir die Klasse nicht instanziieren müssen, um die Hauptmethode aufzurufen. Die Lösung besteht also darin, ein gutes Verständnis der „Statik“ zu haben und ihr Wesen zu verstehen.
Problem: Der Versuch, das Rad neu zu erfinden, indem bereits vorhandene Bibliotheken und Tools weiterentwickelt werden
Lösung. Es ist eigentlich kein so großes Problem. Für einen Anfänger ist dies eher eine sinnvolle Übung. Wenn Sie sich jedoch auf das Ergebnis konzentrieren möchten, beispielsweise die Erstellung einer praktischen Teilnehmerdatenbank, dann ist die Suche nach einem Teilnehmer im Telefonbuch nur eines der Ergebnisse Ihrer Bewerbung. In diesem Fall ist es nicht erforderlich, einen binären Suchalgorithmus zu schreiben. Verwenden Sie ein vorhandenes (wir versichern Ihnen, dass es bereits jemand vor Ihnen geschrieben hat und es sich in den Standardbibliotheken befindet). Studieren Sie daher die Java-Standardbibliotheken in der Oracle-Dokumentation. Lernen Sie Google, gewöhnen Sie sich an das Lesen von Stack Overflow und stellen Sie Fragen zur
Hilfe von JavaRush ! ...Natürlich sind das nicht alle Probleme von Anfängern. Beschreibe deine in den Kommentaren!
Sind Sie daran interessiert, Artikel zum Thema Java zu lesen? Treten Sie der Java- Entwicklergruppe bei .
Hier gibt es viel Interessantes.
GO TO FULL VERSION