1. Een puntkomma vergeten

De meest voorkomende fout die aspirant-Java-programmeurs maken, is de puntkomma. Of liever, de afwezigheid waar het zou moeten zijn.

Elk statement binnen een methode moet eindigen met een puntkomma. De puntkomma scheidt statements of commando's: zo vertellen we de Java-compiler waar het ene commando eindigt en het volgende begint.

Voorbeelden van fouten:

foute code Correcte 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. Vergeten aanhalingstekens te sluiten

De op een na meest voorkomende fout voor nieuwkomers in Java is het schrijven van een string in de code en vervolgens vergeten het citaat te sluiten.

Elke letterlijke tekenreeks in de code moet aan beide zijden worden omsloten door dubbele aanhalingstekens ("). Beginnende programmeurs plaatsen heel vaak aanhalingstekens aan het begin van tekst, maar ze vergeten ze aan het einde te sluiten.

Hier zijn enkele voorbeelden:

foute code Correcte 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. Vergeten een plusteken toe te voegen bij het aan elkaar lijmen van touwtjes

Een andere veelgemaakte fout bij het werken met strings is het vergeten een plusteken te schrijven bij het aan elkaar lijmen van strings. Deze fout komt vooral voor wanneer tekst en variabelen worden samengevoegd in een lange expressie in code.

Hier zijn enkele voorbeelden:

foute code Correcte 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. Vergeten accolades te sluiten

Dit is een veel voorkomende fout. Er zijn twee situaties waarin dit typisch is:

Eerste situatie: je hebt besloten code ergens vandaan te kopiëren en hebt per ongeluk enkele accolades gemist. Tweede situatie: je maakt jezelf gewoon niet de moeite om ervoor te zorgen dat elk open haakje gepaard gaat met een sluitend haakje.

Om deze fouten te voorkomen, wordt het gewoonlijk aanbevolen voor beginnende programmeurs om de afsluitende accolade onder de openende accolade te schrijven.

Voorbeelden:

foute code Correcte 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. Vergeten haakjes toe te voegen

Meestal wordt deze fout gemaakt door ontwikkelaars die programmeertalen kennen die in vergelijkbare situaties geen haakjes nodig hebben.

Een mogelijkheid is dat ze gewoon vergeten haakjes aan het einde van een methodeaanroep te plaatsen:

Een andere mogelijkheid is dat ze vergeten de voorwaarde van een verklaring tussen haakjes te zetten if-else.

Voorbeelden:

foute code Correcte 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. De mainmethodedeclaratie onjuist schrijven

Zodra ze de verdomde mainmethode verklaren! Er is waarschijnlijk niets dat nieuwkomers zo laat struikelen als deze slechte methode. Belangrijk is dat ze dan altijd verrast zijn en zich afvragen waarom hun programma niet start?

En natuurlijk is niet de programmeur verantwoordelijk, maar het programma, de compiler, de codevalidator, de Java-machine, enz. De lijst met zondebokken is eindeloos.

Voorbeelden:

foute code Uitleg
static void main(String[] args)
publicontbreekt
public void main(String[] args)
staticontbreekt
public main(String[] args)
voidontbreekt
void main(String[] args)
publicen staticontbreken
public static void main(String args)
[]ontbreekt
public static void main()
String[] argsontbreekt
public static int main(String[] args)
We hebben intin plaats vanvoid


7. De bestandsnaam is anders dan de klassenaam

Volgens de Java-standaard moeten alle Java-klassen worden opgeslagen in een bestand met dezelfde naam als de klassenaam. En zoals eerder vermeld, is het geval van de letters hier van belang:

Bestandsnaam Naam van de klasse Opmerking
Solution.java
Solution
Alles is in orde
Solutions.java
Solution
De bestandsnaam heeft een overbodige letters
solution.java
Solution
De bestandsnaam begint met een kleine letter
Solution.txt
Solution
De bestandsextensie is .txtin plaats van.java
Solution.java
solution
De klassenaam begint met een kleine letter

In feite kunnen verschillende klassen worden gedeclareerd in een bestand met de extensie .java, maar slechts één daarvan kan het woord publicvoor de klassenaam hebben. En dit is de naam die moet overeenkomen met de bestandsnaam.

Een .java-bestand moet altijd een klasse hebben waarvan de naam gelijk is aan de bestandsnaam, en die klasse moet de publicmodifier hebben. Voorbeeld:

Oplossing.java
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

Bovendien kunt u met de Java-taal klassen binnen klassen schrijven. Dit is een andere manier om de bovenstaande beperking te omzeilen. Als een openbare klasse (een klasse met de publicmodifier) ​​in een bestand is gedeclareerd en dezelfde naam heeft als de bestandsnaam, dan kunt u binnen deze openbare klasse zoveel klassen declareren als u wilt. Dat gezegd hebbende, dit zullen niet langer gewone lessen zijn. In plaats daarvan zijn het interne of geneste klassen. Voorbeeld:

Oplossing.java
public class Solution
{
   public class Apple
   {
   }

   public static class Pineapple
   {
   }
}


8. Vergeten te schrijvenpackage

Aangezien programma's gewoonlijk duizenden klassen hebben, kan het moeilijk zijn om voor al deze klassen eenvoudige, begrijpelijke en unieke namen te vinden. Daarom is het in Java gebruikelijk om klassen in pakketten te groeperen met behulp van het packagetrefwoord. Precies zoals de bestanden in mappen zijn gegroepeerd.

Daarom zou elke klas moeten beginnen met een indicatie van het pakket waartoe het behoort. Voorbeeld

Code zonder pakket Gecorrigeerd voorbeeld
public class Solution
{
}
package com.codegym.tasks.task0001;

public class Solution
{
}


9. Vergeten toe te voegenimport

Als we de klasse van iemand anders in ons programma willen gebruiken, hebben we twee opties: overal in onze code moeten we ook de pakketnaam voor de naam van de klasse schrijven. Als alternatief kunnen we de volledig gekwalificeerde klassenaam importéén keer met het trefwoord schrijven.

Voorbeeld:

Zonder import te gebruiken Importeren gebruiken
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

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

Beide opties werken, maar als je gewoon Scannerje code intypt zonder toe te voegen import, dan kan de compiler niet begrijpen uit welk pakket hij de Scannerklasse moet halen, en zal je programma niet compileren.