Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Corsi, Tutorial e FAQ (https://www.hwupgrade.it/forum/forumdisplay.php?f=56)
-   -   [Tutorial Java] Guida alla compilazione (https://www.hwupgrade.it/forum/showthread.php?t=557945)


cn73 11-11-2003 09:46

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 !

recoil 11-11-2003 10:40

buona idea ;)
direi di aggiungere un link a questa discussione nelle faq che ci sono in rilievo


intanto metto qualche link pure io:

EDITOR Java gratuiti:

http://www.jcreator.com/ versione freeware o shareware, per windows

http://www.jedit.org/ scritto in java quindi va in win, linux e mac

http://www.eclipse.org/

http://www.jext.org/ idem come jedit

http://java.sun.com/j2se/1.4.2/download.html potete scaricare NetBeans insieme a J2SE oppure nella stessa pagina trovate JRE e SDK oltre alla documentazione

cn73 12-11-2003 09:04

Vedo che interessa moltissimo...il prossimo che fa una domanda sul CLASSPATH me lo mangio a colazione :D

VICIUS 12-11-2003 18:16

Si si anche io :D

Sono un po di nicchia ma io mi trovo da dio.
Java Developement Enviroment For Emacs http://jdee.sunsite.dk/
Emacs Code Browser http://ecb.sourceforge.net/

Se ad alcuni interessa qui ci sono le lezioni dei corsi che ho frequentato all'universita in formato pdf.

Fondamenti di informatica L-A: http://www.ingce.unibo.it/~mviroli/t...2002/index.htm

Fondamenti di informatica L-B: http://www-lia.deis.unibo.it/corsi/2...FONDINF-LB-CE/

ciao ;)

recoil 16-11-2003 21:56

up ;)

anche se ripeto che ci vorrebbe il link nel thread in rilievo, altrimenti questo finisce nel dimenticatoio

cn73 17-11-2003 11:30

Dici che il moderatore non se ne è accorto? Ora glielo segnalo...

cn73 17-11-2003 11:33

ehm...chi è il mod?? :muro: :D

Strat 17-11-2003 14:01

Chi è che spiega il mitico "Hello, World!" ?

Ieri ho aperto un post su Robocode, che è un giochetto che si sono inventati quelli della IBM principalmente per far avvicinare a Java delle nuove leve ma in modo giocoso.

Spero che questo post rimanga in rilevo e che molti diano dei contributi, io appena ho tempo scrivo qualcosa.

Magari si potrebbe anche analizzare passo per passo qualche programma importante: ricerche, ordinamenti, ecc...

cn73 24-11-2003 10:11

Quote:

Originariamente inviato da cn73
ehm...chi è il mod?? :muro: :D

:rolleyes:

recoil 24-11-2003 10:20

io mi ricordo ilsensine e gli ho mandato un pvt, se non risponde perché magari è via in questi giorni contatto qualcuno che so che c'è di sicuro (tipo bluelake o homerr)

cn73 24-11-2003 10:40

ilsensine il mod di Linux??
Avevo intenzione di aggiungere articoli a questa guida, ma se deve finire nel dimenticatoio mi trovo di meglio da fare...

recoil 24-11-2003 10:55

Quote:

Originariamente inviato da cn73
ilsensine il mod di Linux??
Avevo intenzione di aggiungere articoli a questa guida, ma se deve finire nel dimenticatoio mi trovo di meglio da fare...
una volta mi pare che ilsensine fosse moderatore di questa sezione.
cmq c'è pur sempre mjordan che ha scritto le faq e quindi può editare il suo messaggio e mettere un semplice link a questa discussione :)

cn73 24-11-2003 14:41

E' stato messo ;)

recoil 24-11-2003 15:31

a questo punto non serve più "uppare" il thread, a meno che qualcuno voglia contribuire :)

PGI 20-12-2003 00:24

Ho trovato una pagina che può interessare. E' un elenco dei valori restituiti dalle proprietà di sistema a seconda dei sistemi operativi su cui "gira" la jvm.

link

misterx 29-12-2003 18:43

si è affossato questo 3d ?

balordo questo esempio di assegnamento (effetto collaterale) che offre due risultati differenti:

Codice:

            int i = 3 , j;
           
            j = i + (i = 5);
            System.out.println("i=" + i + " , " + "j=" + j);
           
            j = ( i = 5) + i;
            System.out.println("i=" + i + " , " + "j=" + j);


cn73 22-01-2004 08:58

Questo topic + linkato in programmazione FAQ e non in java FAQ... :(

cionci 22-01-2004 09:01

Ve lo linko anche dall'altra parte...

Angus 22-01-2004 10:09

Re: JAVA: contributi!
 
Quote:

Originariamente inviato da cn73

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).

non ne sono sicuro al 100%, ma credo che il framework necessario allo sviluppo e alla compilazione dei sorgenti sia il JDK, non il JRE che è letteralmente Ambiente di Esecuzione Java e che quindi contiene solo gli eseguibili delle JVM e le librerie necessarie all'esecuzione.

cionci 22-01-2004 10:38

Sì...ha sbagliato, ma poi sul path come vedi ha scritto JDK...


Tutti gli orari sono GMT +1. Ora sono le: 05:07.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.