CodeGym /Java-Kurse /All lectures for DE purposes /Beliebte Kompilierungsfehler

Beliebte Kompilierungsfehler

All lectures for DE purposes
Level 1 , Lektion 1106
Verfügbar

1. Ein Semikolon vergessen

Der häufigste Fehler, den angehende Java-Programmierer machen, betrifft das Semikolon. Oder besser gesagt, seine Abwesenheit dort, wo es sein sollte.

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
int a
int b = 5
int c = a + b
int a;
int b = 5;
int c = a + b;
System.out.println("Hello")
System.out.println("Hello");
if (2 > 3)
   System.out.println("Are we in Australia?")
if (2 > 3)
   System.out.println("Are we in Australia?");


2. 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.

Hier sind einige Beispiele:

Falscher Code Richtiger Code
String s = "Hello;
String s = "Hello";
System.out.println("Hello);
System.out.println("Hello");
String s = "Hello";
String message = s + " and by. ;
String s = "Hello";
String message = s + " and bye.";


3. Vergessen, beim Zusammenkleben von Saiten ein Pluszeichen einzufügen

Ein weiterer häufiger Fehler bei der Arbeit mit Schnüren ist das Vergessen, beim Zusammenkleben von Schnüren ein Pluszeichen zu schreiben. Dieser Fehler tritt besonders häufig auf, wenn Text und Variablen in einem langen Ausdruck im Code verkettet sind.

Hier sind einige Beispiele:

Falscher Code Richtiger Code
String s = "Hello";
String message = s  " and bye.";
String s = "Hello";
String message = s + " and bye.";
int age = 35;
System.out.println("Age=" age);
int age = 35;
System.out.println("Age=" + age);
int age = 35;
System.out.println("Age=", age);
int age = 35;
System.out.println("Age=" + age);


4. Vergessen, geschweifte Klammern zu schließen

Dies ist ein sehr häufiger Fehler. Es gibt zwei Situationen, in denen dies typisch ist:

Erste Situation: Sie haben beschlossen, Code von irgendwoher zu kopieren und haben versehentlich einige geschweifte Klammern übersehen. Zweite Situation: Sie machen sich einfach nicht die Mühe, sicherzustellen, dass jeder offenen Klammer eine schließende Klammer entspricht.

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
if (2 < 3)
{
   if (3 < 4)
   {
      System.out.println("Mathematics!");
   }
if (2 < 3)
{
   if (3 < 4)
   {
      System.out.println("Mathematics!");
   }
}
{
   if (2 < 3)
   {
      if (3 < 4)
      {
         System.out.println("Mathematics!");
      }
   }
{
   if (2 < 3)
   {
      if (3 < 4)
      {
         System.out.println("Mathematics!");
      }
   }
}


5. Vergessen, Klammern hinzuzufügen

Am häufigsten wird dieser Fehler von Entwicklern gemacht, die Programmiersprachen kennen, 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-elseAnweisung in Klammern zu setzen.

Beispiele:

Falscher Code Richtiger Code
System.out.println("Hello!");
System.out.println;
System.out.println("And bye!");
System.out.println("Hello!");
System.out.println();
System.out.println("And bye!");
if 2 < 3
{
   if 3 < 4
   {
      System.out.println("Mathematics!");
   }
}
if (2 < 3)
{
   if (3 < 4)
   {
      System.out.println("Mathematics!");
   }
}


6. Die mainMethodendeklaration falsch schreiben

Sobald sie die blutige mainMethode verkünden! 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 natürlich ist nicht der Programmierer schuld, sondern das Programm, der Compiler, der Code-Validator, die Java-Maschine usw. Die Liste der Sündenböcke ist endlos.

Beispiele:

Falscher Code Erläuterung
static void main(String[] args)
publicwird vermisst
public void main(String[] args)
staticwird vermisst
public main(String[] args)
voidwird vermisst
void main(String[] args)
publicund staticfehlen
public static void main(String args)
[]wird vermisst
public static void main()
String[] argswird vermisst
public static int main(String[] args)
Wir haben intstattdessenvoid


7. Der Dateiname unterscheidet sich vom Klassennamen

Gemäß 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
Solution.java
Solution
Alles ist gut
Solutions.java
Solution
Der Dateiname enthält einen überflüssigen Buchstabens
solution.java
Solution
Der Dateiname beginnt mit einem Kleinbuchstaben
Solution.txt
Solution
Die Dateierweiterung lautet .txtstatt.java
Solution.java
solution
Der Klassenname beginnt mit einem Kleinbuchstaben

Tatsächlich können in einer Datei mehrere Klassen mit der Erweiterung .java deklariert werden, aber nur eine davon darf das Wort publicvor 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 über den publicModifikator verfügen. Beispiel:

Lösung.java
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

Darüber hinaus 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 publicModifikator) in einer Datei deklariert ist und denselben Namen wie der Dateiname hat, können Sie innerhalb dieser öffentlichen Klasse beliebig viele Klassen deklarieren. Allerdings werden dies keine gewöhnlichen Kurse mehr sein. Stattdessen handelt es sich um interne oder verschachtelte Klassen. Beispiel:

Lösung.java
public class Solution
{
   public class Apple
   {
   }

   public static class Pineapple
   {
   }
}


8. Vergessen zu schreibenpackage

Da Programme normalerweise über Tausende von Klassen verfügen, kann es schwierig sein, für alle einfache, verständliche und eindeutige Namen zu finden. Aus diesem Grund ist es in Java üblich, Klassen mithilfe des packageSchlüsselworts in Pakete zu gruppieren. Genau so sind die Dateien in Ordnern gruppiert.

Aus diesem Grund sollte jede Klasse mit einer Angabe des Pakets beginnen, zu dem sie gehört. Beispiel

Code ohne Paket Korrigiertes Beispiel
public class Solution
{
}
package com.codegym.tasks.task0001;

public class Solution
{
}


9. Vergessen, etwas hinzuzufügenimport

Wenn wir die Klasse einer anderen Person in unserem Programm verwenden möchten, haben wir zwei Möglichkeiten: Überall in unserem Code müssen wir auch den Paketnamen vor den Namen der Klasse schreiben. Alternativ können wir den vollständig qualifizierten Klassennamen importeinmal mit dem Schlüsselwort schreiben.

Beispiel:

Ohne Import zu verwenden Import verwenden
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

public class Solution
{
   Scanner console = new Scanner();
}

Beide Optionen funktionieren, aber wenn Sie einfach ScannerIhren Code schreiben, ohne hinzuzufügen import, kann der Compiler nicht erkennen, Scanneraus welchem ​​Paket er die Klasse übernehmen muss, und Ihr Programm wird nicht kompiliert.


Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION