Hello World!


public class Hello {

   public static void main(String[] args) {

      System.out.println("Hello, World!");

   }
}

Come si esegue?

  1. Scriviamo il codice in un file chiamato Hello.java:

          emacs Hello.java &

  2. usando un qualunque interprete di linee di comando (MS-DOS, bash, csh...), compiliamo il programma con il comando

          javac Hello.java

    la compilazione produce il file Hello.class;

  3. invochiamo l'interprete Java con 

             java Hello

    (senza usare il suffisso!).




Analizziamo la struttura del programma


public class Hello {

   public static void main(String[] args) {

      System.out.println("Hello, World!");

   }

}

Il codice definisce una classe chiamata Hello.

Una classe è un contenitore nel quale si possono dichiarare varie cose. Ogni programma Java è costituito da una o più classi. 

Si può dichiarare una classe così:
 
public class <NomeClasse> {
    ...
    ...
}

Importante: la classe <NomeClasse> deve essere scritta in un file chiamato <NomeClasse>.java.




Dichiarazione e chiamata di metodi

La classe Hello  contiene solo la dichiarazione del metodo main.

Nei linguaggi orientati ad oggetti, un metodo è quello che in altri linguaggi viene chiamato una procedura, un sottoprogramma, o una funzione.
 

public class Hello {

   public static void main(String[] args) {

      System.out.println("Hello, World!");  // comando

   }
}

Ogni programma Java contiene un metodo particolare chiamato main.

Il metodo main ha sempre un parametro formale (String[] args), che serve per passare informazioni al programma, e contiene (in questo esempio) un solo comando:
 
System.out.println("Hello, World!"); //comando

Questa è una chiamata o invocazione di un metodo. L'effetto è di scrivere Hello World! sullo schermo.




 Confronto con altri linguaggi
(per chi li conosce...)

Anche in C e C++ ogni programma ha una procedura chiamata main, che però non deve essere dichiarata dentro un'altra struttura. In Java tutto deve essere dichiarato all'interno di una classe (che ha lo stesso nome del file .java).

Il parametro formale di main ha lo stesso significato dei parametri del main di un programma C o C++:


int main ( int argc, char *argv[] ) {
    ...
}

In Pascal non è necessario dichiarare una procedura: si usa il blocco begin-end del programma.

Per i più curiosi: il sito http://www2.latech.edu/~acm/HelloWorld.shtml raccoglie i programmi HelloWorld in più di 150 linguaggi di programmazione (e anche non di programmazione, come HTML).
[Copia locale della pagina principale del sito e di alcuni esempi]