View Single Post
Old 11-11-2003, 09:46   #1
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
JAVA: contributi!

Pensavo di scrivere col vostro aiuto una piccola guida
introduttiva al JAVA, sottolineando alcuni concetti basilari senza i quali è impossibile anche eseguire un semplicissimo programma.
Questo è il mio contributo iniziale.

Per prima cosa è necessario scaricare ed installare il JRE (Java Runtime Enviroment) o meglio ancora il JSDK (Java Source Developement Kit) che fornisce oltra al JRE alcuni strumenti per facilitare la realizzazione degli applicativi.

A questo link: http://java.sun.com/j2se/1.4.2/download.html troverete i download per le varie piattaforme.

A quest'altro: http://java.sun.com/docs/ troverete moltissimi documenti indispensabili, praticamente tutto quello che serve!

Consiglio specialmente di scaricarsi il Tutorial: http://java.sun.com/docs/books/tutorial/index.html e la documentazione sulle Api: http://java.sun.com/api/index.html .

alcuni esempi di codice li trovate invece qui:http://developer.java.sun.com/developer/codesamples/.

Supponiamo ora di avere installato il nostro JRE (Java Runtime Enviroment) nella cartella c:\jdk1.4.2. Nel nostro PATH di ambiente dovremmo aggiungere la directory c:\jdk1.4.2\bin che contiene fra gli altri gli eseguibili javac (per compilare) e java (per eseguire). Meglio mettere tutto in un file batch, che potrebbe avere questa struttura:

Codice:
REM ----installazione jdk
SET PATH=%PATH%;C:\jdk1.4.2\BIN
SET APP_HOME= ...
set CLASSPATH=.;%APP_HOME%

Il CLASSPATH indica al compilatore dove trovare le classi per risolvere le dipendenze...è un concetto fondamentale, sia per compilare che per eseguire!
Se la nostra classe che compiliamo utilizza una classe appartenente a un diverso package, o contenuta in un JAR (archivio che comprende n package/classi), dobbiamo necessariamente dire al compilatore dove si trovano queste classi!
Se ad esempio nella nostra cartella abbiamo un semplice programmino java

Codice:
import import mypackage.MyClass; 

class Prova {

		public static void main(String[] args){
			MyClass myobj = new MyClass(...)
			....
			
		}
}
nel CLASSPATH andrà aggiunto il percorso del package mypackage (che altro non è che una directory).

A questo punto compilare è banale...ricordarsi che il nome del file java deve essere uguale (case sensitive) a quello che diamo all'interno della nostra classe.

Apriamo una sessione DOS o una shell Linux e lanciamo il nostro batch (o script) per settare le variabili di ambiente. Poi semplicemente:
Codice:
javac Prova.java
si ottiene un file Java.class, il famoso bytecode che poi la JVM (Java Virtual Machine) si occuperà di interpretare (da qui la pecca forse principale del JAVA, la sua proverbiale lentezza, almeno rispetto ad altri linguaggi.Il vantaggio principale però è che questo bytecode è indipendente dalla architettura, perciò qualunque JVM di versione uguale o superiore può tranquillamente interpretarlo!).
Codice:
java Prova
Ricordiamo poi che la maggior parte dei browser integrano una JVM, per fare girare le famose applet java. Purtroppo quella della Microsoft fornita di default con Internet Explorer si è fermata a parecchi anni fa, e non fornisce il supporto ad esempio alle SWING, il famoso package per realizzare interfacce grafiche complesse. Poco male, una volta installato il JSDK, il nostro browser si appoggerà direttamente alla JVM SUN

Faccio seguire un esempio di applet e uno di applicazioncina a scopo didattico:

la prima è il classico giochino snake, il serpentello che mangia le mele:
scarica (32K)


Il secondo è un applicativo banale che però esemplifica alcuni concetti basilari e da una idea di cosa sia una GUI (Interfaccia Grafica):
cercafiles.zip

Concludo con alcuni dei miei link preferiti:
esempi di programmazione

Free Electronic Book: Thinking in Java, 3rd Edition

www.mokabyte.it

http://www.codeguru.com/

E ovviamente il mitico www.google.com !

Ultima modifica di cn73 : 11-11-2003 alle 09:48.
cn73 è offline   Rispondi citando il messaggio o parte di esso