10 Fehler in Java zu vermeiden

10 Fehler in Java zu vermeiden - Dummies

Beheben Sie häufige Fehler in der Java-Programmierung, bevor Sie sie erstellen. Hier ist eine kurze Checkliste mit zehn Dingen, auf die Sie in Ihrem Code achten sollten.

Großbuchstaben dorthin übertragen, wo sie hingehören

Java ist eine Groß- / Kleinschreibung, daher müssen Sie wirklich Ihre P s und Q s beachten - zusammen mit jedem anderen Buchstaben des Alphabets. Hier einige Details, die Sie beachten sollten, wenn Sie Java-Programme erstellen:

  • Die Schlüsselwörter von Java sind alle vollständig klein geschrieben. Zum Beispiel kann in einer Java if-Anweisung das Wort , wenn nicht sein, wenn oder IF sein.

  • Wenn Sie Namen aus der Java-API (Application Programming Interface) verwenden, muss der Fall der Namen mit dem übereinstimmen, was in der API angezeigt wird.

  • Sie müssen auch sicherstellen, dass die Namen, die Sie selbst bilden, in Ihrem gesamten Programm auf dieselbe Weise groß geschrieben werden. Wenn Sie eine myAccount-Variable deklarieren, können Sie nicht als MyAccount, myaccount oder Myaccount darauf verweisen. Wenn Sie den Variablennamen auf zwei verschiedene Arten verwenden, denkt Java, dass Sie sich auf zwei völlig verschiedene Variablen beziehen.

Ausschalten einer switch-Anweisung

Wenn Sie nicht aus einer switch-Anweisung ausbrechen, erhalten Sie einen Durchbruch. Zum Beispiel, wenn der Wert von Vers 3 ist, druckt der folgende Code alle drei Zeilen - Letzter Refrain, Er ist ein Schmerz und Hat kein Gehirn.

 Schalter (Vers) {Fall 3: aus. drucken ("Letzter Refrain"); aus. println ("letzter Refrain"); Fall 2: heraus. drucken ("Er ist ein Schmerz"); aus. println ("Er ist ein Schmerz"); Fall 1: heraus. drucken ("hat kein Gehirn"); aus. println ("hat kein Gehirn");} 

Werte mit doppeltem Gleichheitszeichen vergleichen

Wenn Sie zwei Werte miteinander vergleichen, verwenden Sie ein doppeltes Gleichheitszeichen. Die Zeile

 if (inputNumber == randomNumber) 

ist korrekt, aber die Zeile

 if (inputNumber = randomNumber) 

ist nicht korrekt.

Hinzufügen von Komponenten zu einer GUI

Hier ist ein Konstruktor für einen Java-Frame:

 public SimpleFrame () {JButton button = new JButton ( "Thank you ..."  ); setTitle ( "...  Connie Santisteban  und Brian Walls"  ); setLayout (neues FlowLayout ());  hinzufügen (Schaltfläche);  -Taste. addActionListener (dies); setSize (300, 100); setVisible (true);} 

Was auch immer Sie tun, vergessen Sie nicht den Aufruf der add-Methode. Ohne diesen Aufruf gehen Sie zu der ganzen Arbeit zum Erstellen einer Schaltfläche, aber die Schaltfläche wird nicht in Ihrem Rahmen angezeigt.

Hinzufügen von Listenern zur Behandlung von Ereignissen

Schauen Sie sich noch einmal den Code des vorherigen Abschnitts an, um einen SimpleFrame zu erstellen. Wenn Sie den Aufruf von addActionListener vergessen, passiert nichts, wenn Sie auf die Schaltfläche klicken. Ein zweiter Klick auf die Schaltfläche hilft nicht.

Definieren der erforderlichen Konstruktoren

Wenn Sie einen Konstruktor mit Parametern definieren, wie in

 public Temperature (doppelte Zahl) 

, dann erstellt der Computer keinen voreingestellten parameterlosen Konstruktor mehr für Sie. Mit anderen Worten, Sie können

 Temperatur RaumTemp = neue Temperatur (); 

Es sei denn, Sie definieren explizit einen eigenen parameterlosen Temperaturkonstruktor.

Beheben von nicht-statischen Referenzen

Wenn Sie versuchen, den folgenden Code zu kompilieren, erhalten Sie eine Fehlermeldung:

 class WillNotWork {String greeting = "Hello"; public static void main (Zeichenfolge args []) {System. aus. println (Begrüßung);}} 

Sie erhalten eine Fehlermeldung, weil main statisch ist, die Begrüßung jedoch nicht statisch ist.

Bleiben innerhalb der Grenzen in einem Array

Wenn Sie ein Array mit zehn Komponenten deklarieren, haben die Komponenten Indizes von 0 bis 9. Mit anderen Worten, wenn Sie

 int guests [] = neuer int [10]; 

Dann können Sie auf die Komponenten des Gäste-Arrays verweisen, indem Sie Gäste [0], Gäste [1] usw. bis zu den Gästen [9] schreiben. Sie können keine guest [10] schreiben, da das Gäste-Array keine Komponente mit Index 10 hat.

Null-Zeiger voraussehen

Die Beispiele dieses Buches neigen nicht dazu, die NullPointerException zu werfen, sondern in der realen Java-Programmierung. Sie sehen die Ausnahme ständig. Eine NullPointerException kommt zustande, wenn Sie eine Methode aufrufen, die ein Objekt zurückgeben soll, aber die Methode gibt nichts zurück. Hier ist ein billiges Beispiel:

 importiert statisches Java. lang. System. aus; Java importieren. io. Datei; Klasse ListMyFiles {public static void main (Zeichenfolge args []) {File myFile = neue Datei ( " windows"  ); String dir [] = meinDatei. Liste(); für (Stringdateiname: dir) {out. println (fileName);}}} 

Dieses Programm zeigt eine Liste aller Dateien im Windows-Verzeichnis an.

Aber was passiert, wenn Sie windows in etwas anderes ändern - etwas, das nicht den Namen eines Verzeichnisses darstellt?

 Datei myFile = neue Datei ( "& *% $!!"  ); 

Dann gibt der neue File-Aufruf null zurück (ein spezielles Java-Wort, das nichts bedeutet), so dass die Variable myFile nichts enthält. Später im Code bezieht sich die Variable dir auf nichts, und der Versuch, alle dir-Werte durchzulaufen, schlägt kläglich fehl. Sie erhalten eine große NullPointerException, und das Programm stürzt sich um Sie herum.

Um diese Art von Unheil zu vermeiden, lesen Sie die API-Dokumentation von Java. Wenn Sie eine Methode aufrufen, die null zurückgeben kann, fügen Sie Ihrem Programm Ausnahmebehandlungscode hinzu.

Java bei der Suche nach seinen Dateien helfen

Sie kompilieren Java-Code und kümmern sich um Ihr eigenes Geschäft, wenn der Computer Ihnen einen NoClassDefFoundError gibt. Alle möglichen Dinge können schiefgehen, aber die Chancen stehen gut, dass der Computer keine bestimmte Java-Datei findet. Um dies zu korrigieren, müssen Sie alle Planeten korrekt ausrichten:

  • Ihr Projektverzeichnis muss alle Java-Dateien enthalten, deren Namen in Ihrem Code verwendet werden.

  • Wenn Sie benannte Pakete verwenden, muss Ihr Projektverzeichnis entsprechend benannte Unterverzeichnisse haben.

  • Ihr CLASSPATH muss korrekt eingestellt sein.