CodeGym /Java Course /All lectures for IT purposes /Errori di compilazione popolari

Errori di compilazione popolari

All lectures for IT purposes
Livello 1 , Lezione 1106
Disponibile

1. Dimenticare un punto e virgola

L'errore più comune commesso dagli aspiranti programmatori Java riguarda il punto e virgola. O meglio, la sua assenza dove dovrebbe essere.

Ogni istruzione all'interno di un metodo deve terminare con un punto e virgola. Il punto e virgola è ciò che separa istruzioni o comandi: è così che diciamo al compilatore Java dove finisce un comando e inizia il successivo.

Esempi di errori:

codice non corretto Codice corretto
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. Dimenticare di chiudere le citazioni

Il secondo errore più comune per i neofiti di Java è scrivere una stringa nel codice e poi dimenticarsi di chiudere la citazione.

Ogni valore letterale stringa nel codice deve essere racchiuso su entrambi i lati tra virgolette doppie ("). I programmatori principianti molto spesso mettono le virgolette all'inizio del testo, ma si dimenticano di chiuderle alla fine.

Ecco alcuni esempi:

codice non corretto Codice corretto
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. Dimenticare di includere un segno più quando si incollano insieme le stringhe

Un altro errore comune quando si lavora con le stringhe è dimenticare di scrivere un segno più quando si incollano insieme le stringhe. Questo errore è particolarmente diffuso quando testo e variabili sono concatenati in un'espressione lunga nel codice.

Ecco alcuni esempi:

codice non corretto Codice corretto
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. Dimenticare di chiudere le parentesi graffe

Questo è un errore molto comune. Ci sono due situazioni in cui questo è tipico:

Prima situazione: hai deciso di copiare il codice da qualche parte e hai accidentalmente perso alcune parentesi graffe. Seconda situazione: semplicemente non ti preoccupi di assicurarti che ogni parentesi aperta corrisponda a una parentesi chiusa.

Per evitare questi errori, di solito si consiglia ai programmatori principianti di scrivere la parentesi graffa di chiusura sotto quella di apertura.

Esempi:

codice non corretto Codice corretto
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. Dimenticare di aggiungere parentesi

Molto spesso questo errore viene commesso da sviluppatori che conoscono linguaggi di programmazione che non richiedono parentesi in situazioni simili.

Una possibilità è che si dimentichino semplicemente di mettere le parentesi alla fine di una chiamata di metodo:

Un'altra possibilità è che si dimentichino di racchiudere la condizione di un'istruzione if-elsetra parentesi.

Esempi:

codice non corretto Codice corretto
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. Scrittura mainerrata della dichiarazione del metodo

Non appena dichiarano il mainmetodo sanguinoso! Probabilmente non c'è niente che faccia inciampare i neofiti tanto quanto questo metodo scadente. È importante sottolineare che sono sempre sorpresi e si chiedono perché il loro programma non si avvia?

E, naturalmente, la colpa non è del programmatore, ma del programma, del compilatore, del validatore del codice, della macchina Java, ecc. L'elenco dei capri espiatori è infinito.

Esempi:

codice non corretto Spiegazione
static void main(String[] args)
publicmanca
public void main(String[] args)
staticmanca
public main(String[] args)
voidmanca
void main(String[] args)
publice staticmancano
public static void main(String args)
[]manca
public static void main()
String[] argsmanca
public static int main(String[] args)
Abbiamo intinvece divoid


7. Il nome del file è diverso dal nome della classe

Secondo lo standard Java, tutte le classi Java devono essere memorizzate in un file con lo stesso nome del nome della classe. E come accennato in precedenza, il caso delle lettere conta qui:

Nome del file Nome della classe Nota
Solution.java
Solution
Va tutto bene
Solutions.java
Solution
Il nome del file ha una lettera superfluas
solution.java
Solution
Il nome del file inizia con una lettera minuscola
Solution.txt
Solution
L'estensione del file è .txtinvece di.java
Solution.java
solution
Il nome della classe inizia con una lettera minuscola

In realtà, in un file con estensione .java possono essere dichiarate più classi, ma solo una di esse può avere la parola publicprima del nome della classe. E questo è il nome che deve corrispondere al nome del file.

Un file .java deve sempre avere una classe il cui nome è uguale al nome del file e quella classe deve avere il publicmodificatore. Esempio:

Soluzione.java
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

Inoltre, il linguaggio Java ti consente di scrivere classi all'interno di classi. Questo è un altro modo per aggirare la limitazione di cui sopra. Se una classe pubblica (una classe con il publicmodificatore) è dichiarata in un file e ha lo stesso nome del nome del file, allora puoi dichiarare quante classi vuoi all'interno di questa classe pubblica. Detto questo, queste non saranno più classi ordinarie. Saranno invece classi interne o nidificate. Esempio:

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

   public static class Pineapple
   {
   }
}


8. Dimenticare di scriverepackage

Poiché i programmi di solito hanno migliaia di classi, può essere difficile trovare nomi semplici, comprensibili e univoci per tutte. Ecco perché in Java è consuetudine raggruppare le classi in pacchetti utilizzando la packageparola chiave. Esattamente il modo in cui i file sono raggruppati in cartelle.

Ecco perché ogni classe dovrebbe iniziare con l'indicazione del pacchetto a cui appartiene. Esempio

Codice senza confezione Esempio corretto
public class Solution
{
}
package com.codegym.tasks.task0001;

public class Solution
{
}


9. Dimenticare di aggiungereimport

Se vogliamo usare la classe di qualcun altro nel nostro programma, abbiamo due opzioni: dovunque nel nostro codice dobbiamo anche scrivere il nome del pacchetto prima del nome della classe. In alternativa, possiamo scrivere il nome completo della classe con la importparola chiave una volta.

Esempio:

Senza usare import Utilizzo dell'importazione
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

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

Entrambe le opzioni funzionano, ma se scrivi semplicemente Scanneril tuo codice senza aggiungere import, il compilatore non sarà in grado di capire da quale pacchetto deve prendere la Scannerclasse e il tuo programma non verrà compilato.


Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION