Skip to content
Primi passi con Java: Il tuo primo programma
0%
Programming

Primi passi con Java: Il tuo primo programma

Beginner~10 min13 steps

«Primi passi con Java: Il tuo primo programma» è una lezione interattiva di Programmazione creata con Morlex AI.

Scrivi, comprendi ed esegui codice Java partendo dalle basi della sintassi e della struttura orientata agli oggetti.

Read it as text ↓

You’ll learn

  • Comprendere la struttura base di una classe e del metodo main in Java
  • Dichiarare e utilizzare variabili con tipi di dati primari (int, double, String)
  • Stampare output a schermo e interpretare gli errori di sintassi più comuni
  • Applicare le prime strutture di controllo e cicli

Made with AI: it can contain mistakes. If you spot one, report it with “Report a mistake” under the section.

La lezione da leggere

«Primi passi con Java: Il tuo primo programma» è una lezione interattiva di Programmazione creata con Morlex AI.

Creata da Morlex AI con Google Gemini dalla domanda di chi studia; controllata dal codice, non rivista da una persona · aggiornata il 3 novembre 2026 · Come nascono le lezioni

Imparerai

  • Comprendere la struttura base di una classe e del metodo main in Java
  • Dichiarare e utilizzare variabili con tipi di dati primari (int, double, String)
  • Stampare output a schermo e interpretare gli errori di sintassi più comuni
  • Applicare le prime strutture di controllo e cicli

Cos'è Java e perché la struttura conta

Hai mai pensato a cosa succede esattamente quando premi 'Invio' per avviare il tuo programma?

Benvenuto nel mondo di Java. Immagina Java come un architetto estremamente rigoroso: prima di costruire qualsiasi cosa, vuole un piano dettagliato e preciso. A differenza di linguaggi più flessibili, in Java non puoi scrivere codice sparso; tutto deve essere ordinatamente contenuto all'interno di una classe.

Java è un linguaggio compilato. Ciò significa che il codice che scrivi non viene eseguito direttamente dal computer, ma deve prima passare attraverso un "traduttore" (il compilatore) che lo trasforma in un formato comprensibile alla macchina, chiamato bytecode. Questo processo garantisce che, se c'è un errore di sintassi, il programma si blocca prima ancora di tentare l'esecuzione, evitandoti sorprese inaspettate.

Il cuore di ogni applicazione Java è il metodo main. È il punto di ingresso, la porta principale da cui il computer inizia a leggere le tue istruzioni. Senza questo metodo specifico, il tuo programma non saprebbe da dove iniziare. Ecco la struttura base del nostro CalcolatoreSaluto:

public class CalcolatoreSaluto {
    public static void main(String[] args) {
        // Il codice va qui
    }
}

Ogni parola in public static void main ha uno scopo preciso: public rende il metodo accessibile, static permette di eseguirlo senza creare oggetti complessi, e void indica che il metodo non restituisce un valore al sistema operativo. È la firma standard che ogni programma Java deve rispettare per essere avviato.

  • 1: Punto di ingresso (Il metodo main)
  • 0: Errori tollerati (Prima della compilazione)
  • Classe: Il blocco fondamentale che contiene dati e comportamenti in Java.
  • Compilazione: Il processo di traduzione del codice sorgente in bytecode eseguibile.
  • Metodo main: Il punto di partenza obbligatorio per l'esecuzione di ogni programma Java.

Perché il metodo 'main' è fondamentale in un programma Java?

È il punto di ingresso da cui inizia l'esecuzione del codice. Il metodo 'main' è la porta d'accesso. Senza di esso, il compilatore Java non saprebbe quale istruzione eseguire per prima, rendendo il programma non avviabile.

Mappa della sintassi Java

  • Classi: Il contenitore fondamentale. In Java, ogni riga di codice deve appartenere a una classe.
  • Struttura: Definisce il perimetro del programma tramite parentesi graffe.
  • Incapsulamento: Organizza dati e comportamenti in un'unica unità logica.
  • Metodi: Blocchi di codice che eseguono azioni. Il metodo main è il punto di ingresso obbligatorio.
  • Parametri: Input che il metodo riceve per elaborare informazioni.
  • Corpo: La sequenza di istruzioni racchiusa tra le graffe del metodo.
  • Variabili: Contenitori di dati tipizzati. Ogni variabile deve avere un tipo dichiarato prima dell'uso.
  • Tipi Primitivi: Dati semplici come numeri interi (int) o decimali (double).
  • Stringhe: Sequenze di caratteri gestite come oggetti (String).
  • Istruzioni: Comandi eseguiti dal computer. Devono terminare sempre con un punto e virgola.
  • Terminazione: Il punto e virgola ';' è obbligatorio per chiudere ogni istruzione.
  • Concatenazione: L'operatore '+' unisce stringhe e variabili per l'output.

Quale di questi elementi è il punto di ingresso obbligatorio per l'esecuzione di un programma Java?

Il metodo main. Il metodo main è il punto di partenza standard dove la Java Virtual Machine inizia l'esecuzione del codice.

Anatomia di un file Java passo dopo passo

  1. Il contenitore: la classe: In Java, tutto il codice deve vivere dentro una classe. È il tuo blocco di costruzione fondamentale. Definiamo il nostro progetto chiamandolo CalcolatoreSaluto.
  2. Il punto di ingresso: il metodo main: Ora che abbiamo la classe, serve un punto di partenza per l'esecuzione. Il metodo main è il primo posto dove Java guarda quando avvii il programma. Senza questa firma specifica, il codice non parte.
  3. Chiudere i conti: Ogni parentesi graffa aperta { deve avere la sua compagna di chiusura }. La prima chiude il metodo main, la seconda chiude la classe CalcolatoreSaluto. Dimenticarne una è l'errore più classico del programmatore alle prime armi.

Se il tuo programma Java ha una classe e un metodo main, cosa accade se ometti l'ultima parentesi graffa di chiusura della classe?

Il compilatore segnala un errore di sintassi e il programma non parte. Java è estremamente rigoroso: se la struttura non è perfetta, il compilatore si ferma immediatamente. Non prova a indovinare le tue intenzioni.

Dichiarare dati: int, double e String

Perché Java insiste nel voler sapere esattamente cosa contiene ogni contenitore prima ancora di usarlo?

Java è un linguaggio a tipizzazione statica. Questo significa che ogni variabile deve avere un tipo dichiarato prima di poter essere utilizzata. Immagina di avere dei cassetti etichettati in un archivio: non puoi mescolare lettere e bulloni nello stesso posto. Java ti obbliga a essere preciso per evitare errori di memoria.

I tipi fondamentali

Per gestire le informazioni base, utilizzerai quasi sempre questi tre tipi:

  • int: per numeri interi, come l'età: int anni = 25;
  • double: per numeri con la virgola, come una misura: double altezza = 1.75;
  • String: per sequenze di testo, racchiuse tra virgolette: String nome = "Mario";

La struttura che vedi sopra è la regola d'oro: tipo nome = valore;.

L'importanza del punto e virgola

Non dimenticare mai il punto e virgola ; alla fine di ogni istruzione. In Java, è il segnale che dice al compilatore: "l'istruzione è finita qui". Senza questo simbolo, il programma non sa dove termina una riga e ne inizia un'altra, causando un errore di compilazione immediato. Ogni variabile è un contenitore dedicato: quando scrivi String nome = "Mario";, stai ordinando a Java di riservare dello spazio per del testo, chiamarlo nome e inserire "Mario" al suo interno. È il primo passo per gestire la memoria nel tuo codice.

  • int: Numeri interi.
  • double: Numeri decimali.
  • String: Testo.
  • ;: Termine istruzione (Obbligatorio)

Hai appena imparato la sintassi per dichiarare variabili. Quale di queste righe di codice è scritta correttamente in Java?

double altezza = 1.75; La risposta corretta è double altezza = 1.75; perché include il tipo, il nome della variabile, l'assegnazione e il punto e virgola finale. Le altre opzioni falliscono perché mancano il punto e virgola, l'operatore di assegnazione = o il nome della variabile.

Comunicare con l'utente: System.out.println

Come fa il tuo codice a parlarti? Tutto passa attraverso la console.

Ora che abbiamo dichiarato le nostre variabili come int anni = 25; e String nome = "Mario";, dobbiamo trovare un modo per visualizzare questi dati. In Java, il canale standard per comunicare con l'esterno è System.out.

Per stampare un messaggio a schermo, utilizziamo il metodo println. Immaginalo come un comando che dice al computer: "Prendi questo dato, scrivilo e poi vai a capo". È lo strumento principale per il debug e per l'interazione con l'utente.

La magia della concatenazione

Spesso non vorrai stampare solo testo statico, ma combinare variabili e messaggi. Qui entra in gioco l'operatore +. In Java, quando usi il segno + con una String, non stai facendo una somma matematica, ma una concatenazione: stai incollando le stringhe una dopo l'altra.

Se scrivi System.out.println("Ciao " + nome);, Java prenderà il valore contenuto in nome e lo unirà al testo "Ciao ". Il risultato sarà "Ciao Mario". Puoi anche concatenare più elementi: "Ciao " + nome + ", hai " + anni + " anni." diventerà un'unica frase completa. Ricorda solo che Java è molto preciso: se dimentichi le virgolette o il segno +, il compilatore si fermerà subito.

  • println: Stampa e va a capo (Il cursore scende alla riga successiva)
  • print: Stampa senza a capo (Il cursore resta sulla stessa riga)

Cosa vedrai stampato a schermo eseguendo System.out.println("Età: " + 20 + 5);?

Età: 205. Java esegue la concatenazione da sinistra a destra. Prima unisce la stringa "Età: " al numero 20, creando "Età: 20". Poi, aggiunge il 5 a questa stringa, ottenendo "Età: 205". Per ottenere 25, avresti dovuto scrivere "Età: " + (20 + 5).

Modifica le variabili e osserva l'output

Le variabili sono il cuore di ogni programma. Qui, eta è un numero intero (int) e il nome è una stringa (String). Sposta i cursori per vedere come i valori cambiano. Il codice System.out.println("Ciao " + nome + ", hai " + eta + " anni"); userà sempre i valori che vedi qui.

Codice Corretto vs Errore di Sintassi

Java è un linguaggio rigoroso. Dimenticare un punto e virgola o sbagliare una maiuscola interrompe immediatamente la compilazione. Ricorda: ogni istruzione termina con ; e i tipi di dato iniziano sempre con la maiuscola (es. String).

  • Esempio: Codice Corretto: int anni = 25;. Semicolon mancante: int anni = 25. Errore di maiuscole: string nome = "Mario";.
  • Esito: Codice Corretto: Compilazione riuscita. Semicolon mancante: Errore: '; expected'. Errore di maiuscole: Errore: 'cannot find symbol'.
  • Spiegazione: Codice Corretto: Sintassi corretta e completa. Semicolon mancante: Java non sa dove finisce l'istruzione. Errore di maiuscole: Java è case-sensitive: StringString è un tipo, stringstring non esiste.

Hai scritto int eta = 30 senza il punto e virgola. Quale sarà il comportamento del compilatore?

Il compilatore segnala un errore di sintassi. In Java, il punto e virgola è il delimitatore obbligatorio per ogni istruzione. Senza di esso, il compilatore non può determinare la fine della riga di codice.

Sintesi della sintassi di base

  • Classe: Il contenitore fondamentale di ogni programma Java. Tutto il codice deve risiedere qui.
  • Metodo main: Il punto di ingresso obbligatorio: senza questo metodo specifico, il programma non può essere eseguito.
  • Tipi Primitivi: Memorizzano valori semplici. L'intero int è il tipo standard per i numeri senza decimali.
  • Stringhe: Sequenze di testo racchiuse tra virgolette doppie. In Java, la S di String è sempre maiuscola.
  • Punteggiatura: Il punto e virgola ; chiude ogni istruzione. Le parentesi graffe {} delimitano i blocchi di codice.
  • Sensibilità: Java distingue rigorosamente tra maiuscole e minuscole: System non è la stessa cosa di system.
  • Stampa: Invia testo alla console. È lo strumento principale per verificare cosa sta facendo il programma.
  • Concatenazione: Unisci stringhe e variabili in un unico output usando l'operatore +.

Se dimentichi di inserire il punto e virgola (;) alla fine di un'istruzione, cosa accade?

Il compilatore genera un errore di sintassi e il programma non parte. Java è un linguaggio rigido: il punto e virgola è il delimitatore che indica la fine di un'istruzione. Senza di esso, il compilatore non sa dove finisce un comando e dove ne inizia un altro.

Ripasso dei termini chiave

Hai notato che ogni programma Java inizia con una serie di parole quasi magiche prima ancora di fare qualcosa?

Non lasciarti intimidire da public static void main. Non sono decorazioni, ma istruzioni precise che invii alla Java Virtual Machine. Quando definisci la tua class CalcolatoreSaluto, stai creando il progetto architettonico del tuo programma.

Analizziamo i componenti

  • public: Indica che il metodo è accessibile da chiunque, incluso il sistema operativo che deve avviare il tuo programma.
  • static: Significa che non hai bisogno di creare un oggetto specifico per eseguire questo metodo; è pronto all'uso non appena il programma parte.
  • void: È il modo in cui Java dice che questo metodo non restituisce alcun valore dopo aver terminato il suo lavoro. Semplicemente esegue le istruzioni e poi si chiude.

Queste non sono semplici etichette, ma contratti. Se cambi void con un altro tipo, o dimentichi static, il compilatore si rifiuterà di eseguire il tuo codice. Ogni parola ha uno scopo preciso nel mantenere l'ordine all'interno della struttura rigorosa di Java.

  • public: Modificatore di accesso che rende il metodo visibile e accessibile dall'esterno.
  • static: Indica che il metodo appartiene alla classe e non a una specifica istanza (oggetto) di essa.
  • void: Parola chiave usata per indicare che un metodo non restituisce alcun dato al chiamante.
  • class: Il blocco fondamentale di Java che racchiude dati e comportamenti.

Se modifichi il metodo principale scrivendo int al posto di void, cosa accadrà al tuo programma?

Il compilatore restituirà un errore perché il metodo main deve restituire nulla. Esatto. Il metodo main è definito per essere void proprio perché non deve restituire alcun valore al sistema operativo. Cambiare il tipo di ritorno viola la firma standard che la Java Virtual Machine si aspetta per avviare l'esecuzione.

Vero o Falso: Regole di Java

La parola chiave Class è equivalente a class in Java.

Falso. Le parole chiave in Java sono sempre scritte interamente in minuscolo. Class non è una parola chiave valida.

Il metodo main deve essere dichiarato esattamente come public static void main(String[] args) per essere eseguibile.

Vero. Questa è la firma standard richiesta dalla Java Virtual Machine per individuare il punto di ingresso di un programma.

È possibile dichiarare una stringa letterale senza virgolette, scrivendo String nome = Mario;.

Falso. Le stringhe in Java devono essere racchiuse tra virgolette doppie ("..."). Senza di esse, il compilatore cercherebbe una variabile chiamata Mario.

L'operatore + viene utilizzato per concatenare stringhe, come in "Ciao " + nome.

Vero. Quando l'operatore + è applicato a oggetti di tipo String, Java esegue l'unione delle sequenze di caratteri.

Il nome di una classe, come CalcolatoreSaluto, può iniziare con un numero.

Falso. Gli identificatori in Java (nomi di classi, metodi, variabili) non possono iniziare con una cifra numerica.

Il comando system.out.println è un modo corretto per stampare a video.

Falso. Java è case-sensitive. System è il nome di una classe integrata e deve essere scritto con la maiuscola iniziale.

La variabile int è utilizzata per contenere numeri interi, mentre double è riservato ai numeri decimali.

Vero. Java è un linguaggio a tipizzazione statica e distingue chiaramente tra tipi interi e a virgola mobile.

In Java, il tipo di dato String e string sono intercambiabili.

Falso. Java è case-sensitive. String è una classe della libreria standard, mentre string non è una parola chiave o un tipo valido in Java.

Sintassi e Tipi di Dati

Qual è la firma corretta del metodo main in Java?

public static void main(String[] args) Il metodo main deve essere public (visibile da fuori), static (richiamabile senza istanziare la classe), void (non restituisce nulla) e accettare un array di stringhe come parametro.

Come si dichiara correttamente una variabile intera eta con valore 25?

int eta = 25; In Java, il tipo primitivo per i numeri interi è int. È obbligatorio terminare l'istruzione con il punto e virgola ;.

Perché String in Java inizia con la maiuscola?

Perché è una classe, non un tipo primitivo. A differenza di int o double che sono tipi primitivi, String è una classe della libreria standard. In Java, per convenzione, i nomi delle classi iniziano con la lettera maiuscola.

Cosa accade se dimentichi il punto e virgola ; alla fine di un'istruzione?

Il compilatore genera un errore di sintassi. Il punto e virgola è il delimitatore di fine istruzione in Java. Senza di esso, il compilatore non sa dove termina l'istruzione e blocca la build.

Java è case-sensitive. Cosa significa in pratica?

System e system sono considerati diversi. Case-sensitive significa che System (la classe) e system (un nome generico) sono entità distinte. Java distingue rigorosamente tra maiuscole e minuscole.

Quale riga stampa correttamente: Ciao Mario?

System.out.println("Ciao " + nome); Per unire (concatenare) una stringa letterale e una variabile, si usa l'operatore + all'interno del metodo System.out.println.

Qual è la sintassi corretta per definire una classe chiamata Test?

public class Test { }. Una classe si definisce con la parola chiave class, seguita dal nome e da un blocco racchiuso tra parentesi graffe { }.

Quale di questi NON è un tipo di dato primitivo in Java?

String. String è un oggetto (classe), mentre int, double e boolean sono tipi primitivi che memorizzano direttamente il valore.

Completa il Codice Java

Per definire il contenitore principale del nostro programma, usiamo la parola chiave class seguita dal nome della classe.

La parola chiave classclass è fondamentale in Java per definire una classe, ovvero il blocco base che contiene metodi e variabili.

Il metodo principale che il compilatore cerca per avviare l'esecuzione è public static void main(String[] args).

publicpublic indica che il metodo è accessibile dall'esterno, necessario affinché la Java Virtual Machine possa richiamarlo.

Il modificatore static permette di chiamare il metodo main senza dover creare un'istanza (oggetto) della classe.

staticstatic rende il metodo legato alla classe stessa piuttosto che a un oggetto specifico, essenziale per il punto di ingresso del programma.

Poiché il metodo main non deve restituire alcun valore al sistema operativo, definiamo il suo tipo di ritorno come void.

voidvoid è la parola chiave usata in Java per indicare che un metodo non restituisce alcun dato.

Il nome standard del metodo di ingresso in ogni programma Java deve essere main.

mainmain è il nome convenzionale e obbligatorio che Java cerca per iniziare l'esecuzione.

Per dichiarare una variabile che contiene testo, come il nome di un utente, utilizziamo il tipo String.

StringString (con la S maiuscola) è la classe utilizzata in Java per gestire le sequenze di caratteri.

Per inviare output alla console standard, accediamo alla classe System tramite il suo oggetto out.

SystemSystem è una classe fondamentale che fornisce accesso alle risorse di sistema, inclusi i flussi di input e output.

Il metodo completo per stampare una riga di testo e andare a capo è System.out.println().

printlnprintln sta per "print line"; aggiunge automaticamente un carattere di fine riga dopo la stampa del contenuto.

Trova e correggi il bug nel programma