Laboratorio di
Matematica e Informatica
Prima esercitazione - 20 e 22 ottobre 2009
Andrea Valsecchi – Lorenza Manenti
[email protected]
[email protected]
LABORATORIO DI
MATEMATICA E INFORMATICA
Laboratorio
TURNO A-L: martedì dalle 14.30 alle 17.30 LAB4A1
TURNO M-Z: giovedì dalle 14.30 alle 17.30 LAB4A1
Ricevimento: previo appuntamento via E-mail.
nel subject specificare: esercitazioni Laboratorio Informatica
WEBSITE: http://www.lintar.disco.unimib.it/space/Formazione/Didattica/
Laboratorio+di+Matematica+e+Informatica+2009-2010
Programmare in JAVA
JAVA
Il codice sorgente viene preparato con
un programma che permette di scrivere
testi: un EDITOR.
Il file si salva con estensione .java.
Esempio: PrimoProgramma.java
Il compilatore Java (javac) traduce il
programma sorgente in una
rappresentazione speciale detta
bytecode
Il bytecode Java non è un linguaggio
macchina di una CPU particolare, ma di
una macchina virtuale Java, macchina
astratta in grado di eseguire un codice a
basso livello. PrimoProgramma.class
Codice sorgente
Dati di input
Compilatore java
bytecode
Interprete di bytecode
Istruzioni in
linguaggio macchina
Esecuzione delle Istruzioni in
linguaggio macchina
L’interprete traduce il bytecode nel
linguaggio macchina e lo esegue.
Dati in output
Realizzare un programma
Analizziamo i passi necessari alla realizzazione di un programma e
alla sua esecuzione
1. editazione: creazione del source file Primo.java
contiene semplicemente del testo scritto nel linguaggio di
programmazione Java
2. compilazione: generazione del bytecode file Primo.class
traduzione del file di testo in istruzioni comprensibili alla Java Virtual
Machine. javac Primo.java  Primo.class
3. interpretazione ed esecuzione del bytecode file
la Virtual Machine è un interprete che traduce ogni istruzione scritta
in bytecode in istruzioni comprensibili alla piattaforma su cui
vengono eseguite. java Primo
I tool di base
• javac - compilatore – compila un file sorgente con estensione .java generando il
corrispondente file .class contenete il bytecode
• javac NomeClasse.java
• java - interprete – esegue un file .class interpretando il bytecode
• java NomeClasse
• javadoc - generatore di documentazione – genera la documentazione associata al file se all’interno del codice
vengono inseriti nella maniera opportuna i commenti
• javadoc NomeClasse.java
Java: linguaggio di programmazione a oggetti
La programmazione a oggetti permette di descrivere un sistema complesso
attraverso le entità che lo costituiscono (OGGETTI) e le modalità con cui
interagiscono.
Si definisce una classe definendone i dati e i metodi, cioè il comportamento
degli oggetti.
La classe definisce come sono fatti gli oggetti che vi appartengono e
genera gli oggetti.
Oggetti che appartengono ad una classe si chiamano istanze della classe.
Oggetti della stessa classe o di classi differenti possono interagire fra loro
mediante lo scambio di messaggi, cioè mediante l’invocazione di metodi.
Un sistema è frutto dell’interazione e coordinamento di varie entità
(OGGETTI).
Struttura di un programma JAVA
Ogni programma Java è una raccolta di una o più classi
Le classi si aprono con la parola riservata class seguita da
un identificatore scelto dal programmatore. I nomi delle
classi iniziano con una maiuscola. java è case sensitive.
Una classe contiene uno o più metodi.
Un metodo contiene le istruzioni.
Ogni programma deve avere una e una sola classe
contenente il metodo speciale main
Struttura di un programma JAVA -1
// commenti sulla classe
class PrimoProgramma
{
Intestazione della classe
Corpo della classe
}
Struttura di un programma JAVA -2
// commenti sulla classe
class PrimoProgramma
{
// commenti sul metodo
public static void main (String[ ] args)
{
Corpo del metodo
Intestazione del metodo
}
}
N.B I commenti possono essere aggiunti ovunque
Commenti
• I commenti di un programma sono spesso chiamati documentazione
inline
• Devono essere inclusi per documentare lo scopo e le funzionalità del
programma
• Non influenzano il funzionamento. Vengono trascurati dal compilatore.
• Possono avere tre forme:
// commenti fino alla fine della riga
/* commento che
può stare su più righe */
/** commenti di documentazione, vengono utilizzati dal programma
javadoc per generare la documentazione */
Il primo programma
Cominciamo con un esempio semplicissimo: si vuole semplicemente
visualizzare la scritta “Ciao a tutti!”
1 passo EDITAZIONE
Si comincia scrivendo il file sorgente con un editor di testi:
1 riga) intestazione della classe : parola riservata class + identificatore
scelto dal programmatore. La riga termina con parentesi graffa aperta,
che si chiude all’ultima riga del programma sorgente. Le parentesi
contengono la definizione della classe.
class Saluti
{
Definizione della classe
}
Il primo programma EDITAZIONE
2 riga) metodo della classe : la classe deve contenere un metodo
speciale main, tra parentesi tonde sono specificati i parametri del
metodo (trascuriamone ora il significato). L’esecuzione di un programma
avviene sempre a partire da un metodo di nome main con intestazione
come quella indicata nell’esempio. L’intestazione finisce con una
parentesi graffa che si chiude alla penultima riga del programma. Fra le
due parentesi si trova il codice del metodo.
Intestazione del metodo
class Saluti {
public static void main (String [ ] args) {
codice del metodo
}
}
Il primo programma EDITAZIONE
Dalla 3 riga) codice del metodo: è costituito da un insieme di istruzioni.
Ogni istruzione deve terminare con ;. L’unica istruzione del programma in
esempio è l’invocazione del metodo println dell’oggetto System.out
class Saluti{
public static void main (String [ ] args){
System.out.println(“Ciao a tutti!”);
}
}
Salvare il file come: Saluti.java
Nella programmazione ad oggetti la computazione avviene tramite interazioni di
oggetti. Ogni oggetto è capace attraverso i metodi di svolgere determinati compiti.
In questo esempio, System.out è un riferimento all’oggetto schermo e println è un
metodo di questo oggetto. Il servizio è richiesto attraverso un messaggio. Il
messaggio è costituito dal nome del metodo e tra parentesi gli argomenti che
contengono informazioni aggiuntive su come deve operare il metodo.
Il primo programma COMPILAZONE
• Aprire una finestra DOS o Command Prompt
• Posizionarsi sulla directory in cui è stato salvato il sorgente java e
digitare:
C:\ProgrammiJava>javac Saluti.java
• Il compilatore Java creerà il bytecode
Saluti.class
Il primo programma ESECUZIONE
• Nella stessa directory in cui è stato compilato il file sorgente,
lanciare l’interprete java digitando:
C:\ProgrammiJava>java Saluti
• Che produrrà:
Metodo println e print
class Saluti{
public static void main (String [ ] args){
System.out.println(“Ciao a tutti!”);
}
}
è equivalente a
class Saluti2{
public static void main (String [ ] args){
System.out.print (“Ciao ”);
System.out.print (“a ”);
System.out.print (“tutti! ”);
System.out.println (“”);
}
}
Installare Java su Windows
Preparare il proprio PC
• Per poter iniziare a “produrre” in Java occorre
installare:
– l’ambiente di sviluppo (a linea di comando)
completo
– un “buon” editor di testi
• L’ambiente di sviluppo consta di due parti:
– l’ambiente vero e proprio
• file eseguibile (estensione exe) autoinstallante
– la documentazione del set di classi
• file zippato (estensione zip) da scompattare
manualmente
La lista della spesa (1/2)
• Gli strumenti fondamentali:
– JavaTM 2 SDK, Standard Edition della versione
corrente
• scaricare il file
jdk-6u7-windows-i586-p.exe
dal sito della Sun
– un qualsiasi editor di testi ASCII
- Context (http://www.context.cx/)
- Notepad++ (http://notepadplus.sourceforge.net/it/site.htm)
- Notepad di Windows
La lista della spesa (2/2)
• Gli strumenti opzionali, ma fortemente
consigliati:
– la documentazione delle classi del JavaTM 2 SDK,
Standard Edition della versione corrente
• scaricare il file jdk-6-doc.zip
dal sito della Sun
(http://java.sun.com/javase/downloads/index.jsp)
Installazione SDK
• Il file scaricato è un file eseguibile e autoinstallante
• Basta eseguire un doppio click sull’icona e seguire le
istruzioni fornite
– una volta installato è possibile rimuovere il file scaricato
per guadagnare spazio su disco
– una volta installato si otterà la seguente struttura di
directory:
jdk<version>
readme.html
Readme.txt
src.jar
COPYRIGHT
LICENCE
bin
lib
include
include-old
jre
bin
demo
lib
Impostazione della variabile PATH
• La variabile d’ambiente PATH specifica il percorso di ricerca
dei file eseguibili
• Non è obbligatorio impostarla, ma è conveniente poiché
permette di lanciare i comandi Java da tutte le directory
senza specificare il percorso di ricerca del comando
– se non la si imposta devo scrivere ogni volta:
C:\>jdk<version number>\bin\javac MyClass.java
• Per impostare in maniera permanente il PATH, occorre
aggiungere il percorso completo della directory jdk<version
number>\bin alla variabile d’ambiente PATH
Setup ambiente su WinXP
• Su “My
Computer” con
tasto destro
• Scegliere
“Properties”
Setup ambiente su WinXP
• Selezionate il “tab”
Advanced
• Selezionare
“Environment
Variables”
PATH per WinXP
•
•
Selezionare nelle variabili di sistema
la voce PATH e fare clic sul bottone
Edit
Aggiungere a destra della linea un
punto e virgola (;) seguito dal
percorso assoluto della directory
jdk<version number>\bin
– esempio: C:\Program Files\Java\
jdk1.5.0_09\bin
PATH per Windows 95 e 98
• Aprire in modifica il file Autoexec.bat che si trova nella radice dell’unità
logica C
• Cercare se esiste una linea che inizia con set PATH ...
– esiste
• aggiungere a destra della linea un punto e virgola (;) seguito dal
percorso assoluto della directory jdk<version number>\bin
• esempio:
set PATH=c:\WINDOWS;C:\WINDOWS\COMMAND;c:\jdk1.3.1_02\bin
– non esiste
• creare la linea di comando per il path in toto:
• esempio:
set PATH=%PATH%;c:\jdk1.3.1_02\bin
Impostazione della variabile
CLASSPATH
• La variabile d’ambiente CLASSPATH specifica il percorso di ricerca delle
classi compilate e scritte dall’utente
– da qui in avanti ci si rifa’ al caso della sola directory corrente come percorso
di ricerca di classi utente
• Verificare se la variabile CLASSPATH è imposta nel proprio PC
– per verificare lanciare dal prompt del DOS il comando set e controllare la
lista che appare
• Se non è stata impostata, lasciare le cose come stanno
• Se è stata impostata
– se si vuole mantenere
• verificare che compaia “.” tra le directory di ricerca. Se non compare, aggiungerlo
– se non si vuole mantenere
• rimuovere le impostazioni
• La procedura di modifica è analoga a quella descritta per il PATH
Verifica
• Per verificare che tutto funzioni correttamente basta aprire
una sessione DOS e lanciare il comando java -version
• Se l’output è simile a quanto riportato sotto, l’installazione
dell’ambiente è andata a buon fine