1. Uitarea punctului și virgulă

Cea mai frecventă greșeală pe care o fac programatorii Java care aspiră este punctul și virgulă. Sau, mai degrabă, absența lui acolo unde ar trebui să fie.

Fiecare instrucțiune din interiorul unei metode trebuie să se încheie cu punct și virgulă. Punctul și virgulă este ceea ce separă instrucțiunile sau comenzile: așa îi spunem compilatorului Java unde se termină o comandă și începe următoarea.

Exemple de erori:

Cod incorect Cod corect
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. A uitat să închideți ghilimele

A doua cea mai frecventă greșeală pentru nou-veniți la Java este scrierea unui șir în cod și apoi uitarea de a închide citatul.

Fiecare șir literal din cod trebuie să fie închis pe ambele părți cu ghilimele duble ("). Programatorii începători pun foarte des ghilimele la începutul textului, dar uită să le închidă la sfârșit.

Aici sunt cateva exemple:

Cod incorect Cod corect
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. A uitat să includeți un semn plus atunci când lipiți șiruri

O altă greșeală comună atunci când lucrați cu șiruri este uitarea de a scrie un semn plus atunci când lipiți șiruri. Această eroare este predominantă în special atunci când textul și variabilele sunt concatenate într-o expresie lungă în cod.

Aici sunt cateva exemple:

Cod incorect Cod corect
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. Uitând să închideți bretele

Aceasta este o greșeală foarte comună. Există două situații în care acest lucru este tipic:

Prima situație: ați decis să copiați codul de undeva și ați ratat din greșeală niște bretele. A doua situație: pur și simplu nu vă deranjați să vă asigurați că fiecare paranteză deschisă este potrivită cu o paranteză de închidere.

Pentru a evita aceste erori, se recomandă de obicei programatorilor începători să scrie bretele de închidere sub cea de deschidere.

Exemple:

Cod incorect Cod corect
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. Uitând să adăugați paranteze

Cel mai adesea această greșeală este făcută de dezvoltatori care cunosc limbaje de programare care nu necesită paranteze în situații similare.

O posibilitate este ca pur și simplu să uite să pună paranteze la sfârșitul unui apel de metodă:

O altă posibilitate este că ei uită să învelească condiția unei if-elsedeclarații între paranteze.

Exemple:

Cod incorect Cod corect
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. Scrierea maingreșită a declarației metodei

Imediat ce declară mainmetoda sângeroasă! Probabil că nu există nimic care să-i împiedice pe începători la fel de mult ca această metodă proastă. Important, atunci ei sunt mereu surprinși și se întreabă de ce programul lor nu începe?

Și, desigur, nu programatorul este de vină, ci programul, compilatorul, validatorul de cod, mașina Java etc. Lista țapilor ispășitori este nesfârșită.

Exemple:

Cod incorect Explicaţie
static void main(String[] args)
publiclipseste
public void main(String[] args)
staticlipseste
public main(String[] args)
voidlipseste
void main(String[] args)
publicsi staticlipsesc
public static void main(String args)
[]lipseste
public static void main()
String[] argslipseste
public static int main(String[] args)
Avem intîn loc devoid


7. Numele fișierului este diferit de numele clasei

Conform standardului Java, toate clasele Java trebuie să fie stocate într-un fișier cu același nume cu numele clasei. Și așa cum am menționat mai devreme, cazul literelor contează aici:

Nume de fișier Numele clasei Notă
Solution.java
Solution
Totul e bine
Solutions.java
Solution
Numele fișierului are o literă de prisoss
solution.java
Solution
Numele fișierului începe cu o literă mică
Solution.txt
Solution
Extensia de fișier este .txtîn loc de.java
Solution.java
solution
Numele clasei începe cu o literă mică

De fapt, mai multe clase pot fi declarate într-un fișier cu extensia .java, dar numai una dintre ele poate avea cuvântul publicînaintea numelui clasei. Și acesta este numele care trebuie să se potrivească cu numele fișierului.

Un fișier .java trebuie să aibă întotdeauna o clasă al cărei nume este același cu numele fișierului, iar acea clasă trebuie să aibă modificatorul public. Exemplu:

Soluție.java
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

În plus, limbajul Java vă permite să scrieți clase în cadrul claselor. Aceasta este o altă modalitate de a ocoli limitarea de mai sus. Dacă o clasă publică (o clasă cu publicmodificatorul) este declarată într-un fișier și are același nume cu numele fișierului, atunci puteți declara câte clase doriți în cadrul acestei clase publice. Acestea fiind spuse, acestea nu vor mai fi cursuri obișnuite. În schimb, vor fi clase interne sau imbricate. Exemplu:

Soluție.java
public class Solution
{
   public class Apple
   {
   }

   public static class Pineapple
   {
   }
}


8. A uitat să scriipackage

Deoarece programele au de obicei mii de clase, poate fi dificil să găsești nume simple, ușor de înțeles și unice pentru toate. De aceea, în Java se obișnuiește gruparea claselor în pachete folosind packagecuvântul cheie. Exact modul în care fișierele sunt grupate în foldere.

De aceea, fiecare clasă ar trebui să înceapă cu o indicație a pachetului căruia îi aparține. Exemplu

Cod fara pachet Exemplu corectat
public class Solution
{
}
package com.codegym.tasks.task0001;

public class Solution
{
}


9. Am uitat să adaugiimport

Dacă vrem să folosim clasa altcuiva în programul nostru, avem două opțiuni: peste tot în codul nostru trebuie să scriem și numele pachetului său înaintea numelui clasei. Alternativ, putem scrie numele complet calificat al clasei cu importcuvântul cheie o dată.

Exemplu:

Fără a utiliza importul Folosind import
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

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

Ambele opțiuni funcționează, dar dacă pur și simplu scrieți Scannerîn codul dvs. fără a adăuga import, atunci compilatorul nu va putea înțelege din ce pachet trebuie să ia clasa Scannerși programul dvs. nu se va compila.