Introduzione a Java - Francesco Accarino

Transcript

Introduzione a Java - Francesco Accarino
Introduzione a
Java
Prof. Francesco Accarino
IIS Altiero Spinelli
Via Leopardi132 Sesto San Giovanni
Linguaggi di programmazione
Ogni programma viene scritto utilizzando un linguaggio
specializzato, formale e ―comprensibile‖da parte di un
calcolatore, chiamato linguaggio di programmazione
Un linguaggio di programmazione:
• stabilisce un insieme di regole grammaticali che deve
essere rispettato nella scrittura di un programma — sintassi
•
stabilisce il significato del programma , ovvero la sequenza
di azioni che deve essere eseguita dal calcolatore durante
l’esecuzione del programma — semantica
Prof. Francesco Accarino
Introduzione a Java
2
Tipi di linguaggi di Programmazione
Linguaggio macchina
• sequenze di cifre binarie
• unico linguaggio comprensibile direttamente da un calcolatore
• calcolatori diversi hanno linguaggi macchina diversi
• difficile da comprendere per un essere umano
Linguaggio assemblativo
• mnemonico per un linguaggio macchina
• di basso livello — c’èuna corrispondenza uno a uno tra le istruzioni
di un linguaggio assemblativo e le istruzioni del corrispondente
linguaggio macchina
Linguaggi di programmazione di alto livello
• COBOL, FORTRAN, LISP, C, C++, Java, ...
• di alto livello —a ogni istruzione corrispondono molte istruzioni
del linguaggio macchina
• facile da leggere e da comprendere
Prof. Francesco Accarino
Introduzione a Java
3
Traduttori
Un traduttore è un software che traduce un programma scritto
in un linguaggio di alto livello in un equivalente programma in
linguaggio macchina. Esistono due tipi di traduttori:
• compilatori : traducono per intero il programma di alto livello in un
programma equivalente in linguaggio macchina il programma così
tradotto potrà essere eseguito direttamente dal calcolatore, senza che
intervengano altri passi di traduzione compilatori
• interpreti
: traducono ciascuna istruzione del programma di alto
livello in una sequenza di istruzioni del linguaggio macchina, che
viene subito eseguita; si crea alternanza tra traduzione ed
esecuzione (l’esecuzione procede più lentamente) interpreti
Prof. Francesco Accarino
Introduzione a Java
4
Forme di un programma
editing
codice
sorgente
/* un semplice programma in C */
void main(){
printf(“Ciao Mondo!”);}
Compilazione
Codice Oggetto
….
a0 00 ff 3a 62 b5 7c 99
….
Linguaggio di
Alto livello
Codice
Eseguibile
Esecuzione
Ciao Mondo!
Prof. Francesco Accarino
Introduzione a Java
5
Approccio tradizionale all’esecuzione dei programmi
La compilazione e l’esecuzione sono dipendenti dall’ambiente
hardware e software (piattaforma ) piattaforma
Esiste un compilatore diverso per ciascun linguaggio di programmazione e
ciascuna piattaforma
– l’eseguibile prodotto da un tale compilatore può essere eseguito solo nello
stesso ambiente hardware-software
Prof. Francesco Accarino
Introduzione a Java
6
Paradigmi di programmazione
Esistono diversi approcci alla programmazione, chiamati paradigmi
di programmazione
–un paradigma di programmazione caratterizza
la struttura di un programma ed il modo in cui vengono
comandate le azioni al calcolatore
Fino a qualche al 1995 i linguaggi di programmazione più diffusi si
ispiravano a paradigmi imperativi
– i programmi apparivano come una sequenza di istruzioni
(imperative) che venivano eseguite in modo sequenziale
int somma = 0;
printf (“questo è un esempio che calcola la somma dei primi 10 naturali”);
for (int i=1; i <= 10; i++)
somma = somma + i;
printf (“risultato = %d”, somma);
Prof. Francesco Accarino
Introduzione a Java
7
Paradigma ad oggetti
Il paradigma di programmazione ad oggetti nasce
dall’esigenza di creare software complessi e di grandi
dimensioni
• il programma si compone di oggetti che modellano la
realtà di interesse – ogni oggetto sa fare delle cose
• gli oggetti interagiscono, scambiandosi messaggi
• il programmatore definisce:
• gli oggetti che formano il programma
• cosa ogni oggetto sa fare
• come e quando gli oggetti interagiscono
Prof. Francesco Accarino
Introduzione a Java
8
Noi Utilizzeremo il linguaggio java
1001
0110
110..
Prof. Francesco Accarino
Introduzione a Java
9
La java virtual machine
• L’esecuzione di un programma Java consiste
nell’interpretazione del bytecode. Operazione svolta dalla
JVM(Java Virtual Machine).
• La JVM è un programma che interpreta il bytecode, cioè ogni singola
istruzione espressa in bytecode:
– prima viene tradotta in linguaggio macchina
– poi viene eseguita dalla CPU
• Il complesso JVM e CPU esternamente appare come una macchina
virtuale che elabora istruzioni espresse in bytecode.
Prof. Francesco Accarino
Introduzione a Java
10
Utilità della JVM
•Il byte code alla stregua del codice sorgente è
estremamente portatile(non dipende dalla
piattaforma), ma viene interpretato più rapidamente.
•La JVM dipende dalla piattaformadipende piattaforma.
Prof. Francesco Accarino
Introduzione a Java
11
Editing di un programma Java
• Tutto il codice sorgente viene scritto in file con formato
testuale (plain text file file) aventi estensione ―.java ‖.
• Il nome di ogni file deve coincidere con il nome della
classe definita al suo interno.
• Es.: il codice sorgente della classe HelloWorld va
salvato sul file HelloWorld.java .
Prof. Francesco Accarino
Introduzione a Java
12
Compilazione di un programma Java
• I file sorgenti vengono compilati in file ―.class ‖ contenenti
il corrispondente bytecode.
• Il compilatore viene lanciato con il comando ―javac ‖
seguito dal nome del file sorgente che si desidera
compilare includendo l’estensione―.java ‖.
• Es.: Il file HelloWorld.java .viene compilato con l’istruzione
―javac HelloWorld.java ‖, l’output del processo di compilazione
è il file HelloWorld.class.
Prof. Francesco Accarino
Introduzione a Java
13
Esecuzione di un programma Java
Il bytecodeviene interpretato ed eseguito dalla JVM

La JVM viene lanciata con il comando ―java‖ seguito dal nome
della classe contenente il metodo main (cioè del file ―.class‖
contenente il bytecode da cui dovrà iniziare l’esecuzione del
programma).

Es.: il programma HelloWorld viene eseguito con l’istruzione
―java HelloWorld‖.
Prof. Francesco Accarino
Introduzione a Java
14
Sviluppo di un programma in java

Java Development Kit (JDK). Per sviluppare un
programma Java è necessario assicurarsi che sia
installato il JDK nel proprio calcolatore. Il JDK è un
tool per lo sviluppo di programmi Java comprensivo
di compilatore (javac), JVM (java), API (vasta
collezione di componenti software di largo impiego)
ed altre utility, gratuitamente rilasciato dalla Sun
Microsystem.

Text Editor Software per scrivere/modificare file
testuali come il codice sorgente Java (es.: Notepad
(Blocco Note) di Windows).
Prof. Francesco Accarino
Introduzione a Java
15