"Hei, unge rekrutt, som gjør en haug med feil hver dag, selv i de enkleste programmene!

"Ehm... Hei, Diego. Gutt, du vet virkelig hvordan man munter opp folk!"

"Selvfølgelig gjør jeg det! Lær hvordan du sier det som må sies. Som jeg sa, 'hver dag'. For å si det mer høflig, betyr min hilsen "fremtidig suksessfull programmerer, hvis du selvfølgelig ikke blåser den ."

"Ååå, takk, min mest metalliske lærer! .

"Du vil takke meg etter denne leksjonen. Her skal jeg liste opp de mest populære feilene notert av kompilatoren. Og jobben din er å huske. Forvarslet er forutbevæpnet.

Glemte semikolon

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

"Sannheten er... jeg har begått denne lovbruddet gjentatte ganger."

"Hver setning inne i en metode må ende med semikolon. Semikolonet er det som skiller setninger 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?");

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.

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.";

Glemte å 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);

Glemte å lukke krøllete seler

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

  1. Du bestemte deg for å kopiere koden fra et sted og gikk tilfeldigvis glipp av noen krøllete tannregulering.
  2. Du plager deg rett og slett ikke for å sørge for at hver åpne parentes matches av en avsluttende parentes."

"Det andre alternativet er hva jeg gjør. Noen ganger blir jeg så revet med at jeg glemmer!" .

"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!");
      }
   }
}

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!");
   }
}

Skriver mainmetodeerklæringen feil

"Så snart de erklærer den blodige mainmetoden! Det er sannsynligvis ingenting som slår 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 er programmereren ikke Det er ikke 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

Filnavnet er forskjellig fra klassenavnet

"I henhold til Java-standarden skal alle Java-klasser lagres i en fil med samme navn som klassenavnet. Og som nevnt tidligere er det viktig med store og små bokstaver her:

Filnavn Klassenavn Merk
Solution.java Løsning Alt er bra
Løsningen er .java Løsning Filnavnet som en overflødig bokstav 's'
s løsning.java Løsning Filnavnet starter med en liten bokstav
Løsning. tekst Løsning Filtypen er .txt i stedet for .java
Solution.java løsning Klassenavnet starter med en liten bokstav

"Egentlig 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 på. Hvis en offentlig klasse (en klasse med modifikatoren) er publicdeklarert i en fil og har samme navn som filnavnet, så kan du deklarere så mange klasser du vil i denne offentlige klassen. Når det er sagt, vil disse ikke lenger være vanlige klasser. I stedet vil de være interne eller nestede klasser. Eksempel:

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

   public static class Pineapple
   {
   }
}

Glemte å skrivepackage

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

"Ah-ha, så det er derfor hver klasse bør begynne med en indikasjon på pakken den tilhører."

"Akkurat. Her er et eksempel:

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

public class Solution
{
}

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 én importgang 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 alternativer fungerer, men hvis du bare skriver Scannerinn koden din uten å legge til import, vil ikke kompilatoren kunne forstå hvilken pakke den trenger å ta klassen Scannerfra, og programmet vil ikke kompilere."

"Takk, Diego. Denne leksjonen vil få meg til å være mer oppmerksom."

"Det var det jeg regnet med. Lykke til!"