La struttura di un programma in Java

Un semplice programma Java presenta la struttura illustrata nell'esempio che segue.

package primoprogramma;

public class PrimoProgramma {
    
    // dichiarazione degli attributi (variabili globali)

    public static void main(String[] args) {
        // dichiarazione delle variabili locali
        // istruzioni
    }
}

Analizziamo ora, nel dettaglio le componenti di tale struttura.

  • Package: è un contenitore di classi. Possiamo assimilarlo alla struttura del file system, infatti anch'esso ha una struttura gerarchica, con la differenza che utilizza il punto (.) al posto del backslash (\) per separare i livelli.
    Viene solitamente utilizzato per raggruppare classi con funzionalità affini.
    Per convenzione, il nome di un package va scritto in lowercase.
    Nell'esempio precedente, il package si chiama primoprogramma.
  • Classe: definisce una tipologia di oggetti, in altri termini è un modello astratto per creare oggetti concreti (è un concetto fondamentale della programmazione Object Oriented, OOP, che analizzeremo nel dettaglio nella sezione della programmazione ad oggetti).
    In Java, ogni classe deve essere contenuta in un file che deve necessariamente avere lo stesso nome. In questa fase utilizzaremo solo una classe, quella principale, ossia quella in cui si trova il metodo main.
    Per convenzione, il nome di una classe va scritto in PascalCase.
    Nell'esempio precedente la classe ci chiama PrimoProgramma.
  • Metodo: costituisce la definizione di una azione che gli oggetti della classe sono in grado di eseguire.
    In questa fase utilizzaremo solo il metodo main, ossia quello da cui parte l'esecuzione del programma, quando ne viene richiesta la sua esecuzione.
    Successivamente aggiungeremo altri metodi, analizzando il concetto di procedura e funzione.
    Per convenzione, il nome di un metodo va scritto in camelCase.
  • Attributo: rappresenta una caratteristica o una informazione di stato degli oggetti della classe.
    In questa fase si possono considerare come delle variabili globali, ossia utilizzabili in ogni punto del nostro programma, comprese le altre funzioni o procedure diverse dal main.
    Per convenzione, il nome di un attributo va scritto in camelCase.
  • variabile locale: si tratta di variabili definite all'interno di un metodo, la cui visibilità ed utilizzo sono pertanto confinati all'interno del metodo stesso.
    Per convenzione, il nome di una variabile locale va scritto in camelCase.
  • istruzioni: si tratta della sequenza delle istruzioni che implementano l'algoritmo per la risoluzione di un problema.