1. At glemme et semikolon

Den mest almindelige fejl, som håbefulde Java-programmører begår, involverer semikolon. Eller rettere sagt, dets fravær, hvor det burde være.

Hvert udsagn inde i en metode skal ende med et semikolon. Semikolon er det, der adskiller udsagn eller kommandoer: Sådan fortæller vi Java-kompileren, hvor den ene kommando slutter og den næste begynder.

Eksempler på fejl:

Forkert kode Korrekt kode
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. Glemmer at lukke tilbud

Den næstmest almindelige fejl for nybegyndere til Java er at skrive en streng i koden og så glemme at lukke citatet.

Hver streng i koden skal omgives på begge sider med dobbelte anførselstegn ("). Begyndere programmører sætter meget ofte anførselstegn i begyndelsen af ​​teksten, men de glemmer at lukke dem i slutningen.

Her er nogle eksempler:

Forkert kode Korrekt kode
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. Glemmer at inkludere et plustegn, når du limer strenge sammen

En anden almindelig fejl, når man arbejder med strenge, er at glemme at skrive et plustegn, når man limer strenge sammen. Denne fejl er især udbredt, når tekst og variable er sammenkædet i et langt udtryk i kode.

Her er nogle eksempler:

Forkert kode Korrekt kode
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. Glemmer at lukke krøllede seler

Dette er en meget almindelig fejl. Der er to situationer, hvor dette er typisk:

Første situation: Du besluttede dig for at kopiere kode fra et sted og gik ved et uheld glip af nogle krøllede seler. Anden situation: Du besværer simpelthen ikke dig selv for at sikre, at hver åben parentes matches af en afsluttende parentes.

For at undgå disse fejl anbefales det normalt for begyndere programmører at skrive den afsluttende krøllede bøjle under den åbnende.

Eksempler:

Forkert kode Korrekt kode
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. Glemte at tilføje parenteser

Oftest er denne fejl lavet af udviklere, der kender programmeringssprog, der ikke kræver parentes i lignende situationer.

En mulighed er, at de simpelthen glemmer at sætte parenteser i slutningen af ​​et metodekald:

En anden mulighed er, at de glemmer at pakke en erklærings tilstand if-elseind i parentes.

Eksempler:

Forkert kode Korrekt kode
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. At skrive mainmetodedeklarationen forkert

Så snart de erklærer den blodige mainmetode! Der er sandsynligvis ikke noget, der falder nybegyndere så meget som denne dårlige metode. Vigtigt, så bliver de altid overraskede og undrer sig over, hvorfor deres program ikke starter?

Og selvfølgelig har programmøren ikke skylden, men programmet, compileren, kodevalidatoren, Java-maskinen osv. Listen over syndebukke er uendelig.

Eksempler:

Forkert kode Forklaring
static void main(String[] args)
publicmangler
public void main(String[] args)
staticmangler
public main(String[] args)
voidmangler
void main(String[] args)
publicog staticmangler
public static void main(String args)
[]mangler
public static void main()
String[] argsmangler
public static int main(String[] args)
Vi har i intstedet forvoid


7. Filnavnet er forskelligt fra klassenavnet

Ifølge Java-standarden skal alle Java-klasser gemmes i en fil med samme navn som klassenavnet. Og som tidligere nævnt er sagen om brevene vigtige her:

Filnavn Klassenavn Bemærk
Solution.java
Solution
Alt er fint
Solutions.java
Solution
Filnavnet har et overflødigt bogstavs
solution.java
Solution
Filnavnet starter med et lille bogstav
Solution.txt
Solution
Filtypenavnet er .txti stedet for.java
Solution.java
solution
Klassenavnet starter med et lille bogstav

Faktisk kan flere klasser erklæres i en fil med filtypenavnet .java, men kun én af dem kan have ordet publicfør klassenavnet. Og dette er navnet, der skal matche filnavnet.

En .java-fil skal altid have en klasse, hvis navn er det samme som filnavnet, og den klasse skal have modifikatoren public. Eksempel:

Solution.java
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

Derudover giver Java-sproget dig mulighed for at skrive klasser inden for klasser. Dette er en anden måde at komme uden om ovenstående begrænsning. Hvis en offentlig klasse (en klasse med publicmodifikatoren) er erklæret i en fil og har samme navn som filnavnet, så kan du erklære så mange klasser som du vil inde i denne offentlige klasse. Når det er sagt, vil disse ikke længere være almindelige klasser. I stedet vil de være interne eller indlejrede klasser. Eksempel:

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

   public static class Pineapple
   {
   }
}


8. Glemmer at skrivepackage

Da programmer normalt har tusindvis af klasser, kan det være svært at finde enkle, forståelige og unikke navne til dem alle. Derfor er det i Java sædvanligt at gruppere klasser i pakker ved hjælp af nøgleordet package. Præcis den måde filerne er grupperet i mapper.

Det er derfor, hver klasse skal begynde med en indikation af den pakke, den tilhører. Eksempel

Kode uden pakke Rettet eksempel
public class Solution
{
}
package com.codegym.tasks.task0001;

public class Solution
{
}


9. Glemte at tilføjeimport

Hvis vi vil bruge en andens klasse i vores program, har vi to muligheder: overalt i vores kode skal vi også skrive dens pakkenavn før navnet på klassen. Alternativt kan vi skrive det fuldt kvalificerede klassenavn med nøgleordet importén gang.

Eksempel:

Uden at bruge import Brug af import
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

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

Begge muligheder virker, men hvis du blot skriver Scanneri din kode uden at tilføje import, så vil compileren ikke være i stand til at forstå, hvilken pakke den skal tage klassen Scannerfra, og dit program vil ikke kompilere.