[:it]Il primo programma Java è inevitabilmente lo stampare il classico messaggio:
Hello word
Ripoterò qui e poi basta, per non generare confusione, il confronto tra il programma scritto in C++ e in Java
C++ | Java |
# include<iostream> using namespace std; int main(){ cout<<“Hello word”; } |
public class primoprogramma {
public static void main(String[] args) { } |
Si nota immediatamente che la sintassi utilizzata da Java potrebbe essere molto più complicata ad un primo approccio.
Vedo di analizzare riga per riga il programma Java.
- Il nome della classe è il nome dello stesso file con estensione.java
- un programma Java è costituito da un insieme di classi la cui dichiarazione inizia con la parola riservata class, seguita dal nome della classe, in questo caso primoprogramma.
- questa classe contiene un solo metodo (funzione o operazione) denominato main.
il metodo iniziale è il metodo main che ha SEMPRE la forma:
public static main (String[] args);
Esso
- è pubblico (public), ovvero visibile da ogni punto del codice;
- è statico (static), è invocabile (si può eseguire) indipendentemente dall’esistenza di oggetti istanza della classe
- non restituisce nulla (void)
- gli eventuali parametri in input forniti dall’utente sulla riga di comando costituiscono un vettore di stringhe.
Da notare che ogni classe di un programma Java può avere un suo metodo main, in ogni caso l’esecuzione del programma ha inizio con l’invocazione del metodo main di una classe specificata come “classe principale” main class.
Approfondimenti tecnici
La JVM (ambiente di esecuzione dei programmi Java) è logicamente costituita dai seguenti componenti logici:
- un insieme di istruzioni (bytecode)
- un insieme di registri;
- un’area di memoria per l’esecuzione dei metodi (stack);
- un’area di memoria per l’allocazione degli oggetti (heap) su cui opera lo strumento automatico di istruzione degli oggetti inutilizzati (garbage collector);
- un’area per la memorizzazione dei metodi.
Le strutture di controllo del flusso di esecuzione sono le stesse del lingaggio C++
- if-else
- switch-case
- do while
- for
[:]