ATTENZIONE: il nuovo sito di riferimento per questa guida e altre cose più o meno interessanti è il mio BLOG

Indice
Prossimo capitolo - Differenze (e affinità) con il C

Capitolo 1 - Introduzione

La presente vuole essere una guida rapida alle basi di Java, orientata a chi già conosce il C. La trattazione sarà il più possibile sintetica, con molti brevi esempi, in modo da permettere a chi legge di assimilare velocemente i vari argomenti.

I dettagli si potranno trovare nella documentazione ufficiale di Sun, scaricabile o consultabile da java.sun.com.

Nel sito è possibile reperire, oltre alla documentazione delle API, degli ottimi tutorial su argomenti specifici.

Il primo programma Java

È tradizione che il primo programma che si presenta in una introduzione a un linguaggio di programmazione sia il cosiddetto "Hello, world!", che stampa sullo standard output (stdout) il suddetto saluto:

	public class CiaoMondo
	{
		public static void main(String[] args)
		{
			System.out.println("Hello, world!");
		}
	}
Questo codice va salvato in un file di nome CiaoMondo.java - una classe public (nel seguito si dirà cosa significa) deve essere dichiarata in un file con lo stesso nome, case compreso.

Ora, ammesso che abbiate già scaricato e installato il JDK Sun, preferibilmente in versione 1.5 o superiore, basta compilare il sorgente con il comando:

	javac CiaoMondo.java
Tuttavia questo non genererà un file direttamente eseguibile, bensì il file CiaoMondo.class - un file per ogni classe dichiarata - contenente del codice intermedio, o bytecode, che verrà in seguito eseguito dalla Java Virtual Machine (JVM) tramite il comando:
	java CiaoMondo

L'alternativa: gcj

In alternativa potete usare il gcj - se avete un sistema in cui gira - il quale è in grado di generare un file eseguibile in luogo del bytecode:

	gcj --main=CiaoMondo CiaoMondo.java -o ciao

Convenzioni

Nel solito sito potete trovare le coding conventions ufficiali di Sun, che stabiliscono come dovrebbe essere scritto un sorgente java.

Queste convenzioni esistono allo scopo di uniformare lo stile che usano i programmatori, in modo da minimizzare lo sforzo di leggere del codice scritto da altri. Tuttavia questi sono solo dei suggerimenti, al compilatore java non importa come è formattato o indentato il file sorgente.

Questa stessa guida - come molti altri documenti, compresi alcuni dal sito della Sun - non segue perfettamente le convenzioni Sun, in particolare per quanto riguarda le parentesi graffe in apertura di classi e metodi. Secondo me è molto più leggibile una scrittura del tipo:

	class Lista
	{
		// corpo
	}
in luogo di:
	class Lista {
		// corpo
	}
Questo comunque va un po' a gusti personali - vedi diatriba Linus Torvalds/GNU, file Documentation/CodingStyle nel source tree di linux.

Il mio umilissimo consiglio è di usare il buon senso, in modo da scrivere del codice leggibile, con commenti sintetici e non inutili, cercando di spezzare lunghe linee con dei ritorni a capo e di inserire ogni tanto una linea vuota, per distinguere varie sezioni di codice - proprio come si fa per rendere più leggibile un lungo documento di testo.

Per quanto riguarda i nomi delle classi è convenzione che siano scritti in "camel case", ossia con la prima lettera di ogni sottoparola maiuscola, così:

	class PrimaClasse
I nomi di campi e metodi (vedi il capitolo 3) invece dovrebbero essere scritti sempre in camel case, ma con la prima lettera minuscola:
	String nomeFile;
	int caratteriRimanenti;

	boolean isEmpty()
	{
		...



Indice
Prossimo capitolo - Differenze (e affinità) con il C