1. Glem et semikolon

Den vanligste feilen aspirerende Java-programmerere gjør involverer semikolon. Eller rettere sagt, fraværet der det burde være.

Hver setning i en metode må ende med semikolon. Semikolonet er det som skiller utsagn eller kommandoer: dette er hvordan vi forteller Java-kompilatoren hvor en kommando slutter og den neste begynner.

Eksempler på feil:

feil kode Riktig 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. Glemte å lukke sitater

Den nest vanligste feilen for nykommere til Java er å skrive en streng i koden og så glemme å lukke sitatet.

Hver streng bokstavelig i koden må omsluttes på begge sider med doble anførselstegn ("). Nybegynnerprogrammerere setter veldig ofte anførselstegn i begynnelsen av teksten, men de glemmer å lukke dem på slutten.

Her er noen eksempler:

feil kode Riktig 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 å inkludere et plusstegn når du limer sammen strenger

En annen vanlig feil når du arbeider med strenger er å glemme å skrive et plusstegn når du limer sammen strenger. Denne feilen er spesielt utbredt når tekst og variabler er sammenkoblet i et langt uttrykk i kode.

Her er noen eksempler:

feil kode Riktig 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. Glemte å lukke krøllete tannregulering

Dette er en veldig vanlig feil. Det er to situasjoner hvor dette er typisk:

Første situasjon: Du bestemte deg for å kopiere kode fra et sted og gikk glipp av noen krøllete tannregulering. Andre situasjon: Du bekymrer deg rett og slett ikke for å sørge for at hver åpne parentes matches av en avsluttende parentes.

For å unngå disse feilene, anbefales det vanligvis for nybegynnere programmerere å skrive den avsluttende krøllete klammeparentesen under den åpnende.

Eksempler:

feil kode Riktig 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 å legge til parenteser

Oftest gjøres denne feilen av utviklere som kan programmeringsspråk som ikke krever parentes i lignende situasjoner.

En mulighet er at de rett og slett glemmer å sette parenteser på slutten av et metodekall:

En annen mulighet er at de glemmer å pakke tilstanden til et if-elseutsagn i parentes.

Eksempler:

feil kode Riktig 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. Skrive mainmetodeerklæringen feil

Så snart de erklærer den blodige mainmetoden! Det er sannsynligvis ingenting som snubler nybegynnere så mye som denne dårlige metoden. Viktigere, da blir de alltid overrasket og lurer på hvorfor programmet deres ikke starter?

Og selvfølgelig har ikke programmereren skylden, men programmet, kompilatoren, kodevalidatoren, Java-maskinen osv. Listen over syndebukker er uendelig.

Eksempler:

feil kode Forklaring
static void main(String[] args)
publicmangler
public void main(String[] args)
staticmangler
public main(String[] args)
voidmangler
void main(String[] args)
publicog staticer savnet
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 forskjellig fra klassenavnet

I følge Java-standarden skal alle Java-klasser lagres i en fil med samme navn som klassenavnet. Og som nevnt tidligere, er tilfellet med brevene viktige her:

Filnavn Klassenavn Merk
Solution.java
Solution
Alt er bra
Solutions.java
Solution
Filnavnet har en overflødig bokstavs
solution.java
Solution
Filnavnet starter med en liten bokstav
Solution.txt
Solution
Filtypen er .txti stedet for.java
Solution.java
solution
Klassenavnet starter med en liten bokstav

Faktisk kan flere klasser deklareres i en fil med filtypen .java, men bare én av dem kan ha ordet publicforan klassenavnet. Og dette er navnet som må samsvare med filnavnet.

En .java-fil må alltid ha en klasse hvis navn er det samme som filnavnet, og den klassen må ha modifikatoren public. Eksempel:

Solution.java
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

I tillegg lar Java-språket deg skrive klasser i klasser. Dette er en annen måte å omgå begrensningene ovenfor. Hvis en offentlig klasse (en klasse med publicmodifikatoren) er deklarert i en fil og har samme navn som filnavnet, kan du deklarere så mange klasser du vil i denne offentlige klassen. Når det er sagt, vil dette ikke lenger være ordinære klasser. I stedet vil de være interne eller nestede klasser. Eksempel:

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

   public static class Pineapple
   {
   }
}


8. Glemmer å skrivepackage

Siden programmer vanligvis har tusenvis av klasser, kan det være vanskelig å finne enkle, forståelige og unike navn for dem alle. Det er derfor i Java er det vanlig å gruppere klasser i pakker ved å bruke nøkkelordet package. Nøyaktig slik filene er gruppert i mapper.

Det er derfor hver klasse bør begynne med en indikasjon på pakken den tilhører. Eksempel

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

public class Solution
{
}


9. Glemte å legge tilimport

Hvis vi ønsker å bruke en annens klasse i programmet vårt, har vi to alternativer: overalt i koden må vi også skrive pakkenavnet før navnet på klassen. Alternativt kan vi skrive det fullt kvalifiserte klassenavnet med nøkkelordet importén gang.

Eksempel:

Uten å bruke import Bruker import
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

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

Begge alternativene fungerer, men hvis du bare skriver Scannerinn koden uten å legge til import, vil ikke kompilatoren kunne forstå hvilken pakke den trenger å ta klassen Scannerfra, og programmet vil ikke kompilere.