Professional Documents
Culture Documents
Java
Prof.ssa Mastrocesare e Prof. Notarantonio
Compilazione e
interpretazione
Quando si compila il codice sorgente scritto in
Java, il compilatore genera il codice compilato,
chiamato bytecode.
Compilazione e
interpretazione
Ambiente di programmazione
con JDK (Java Development Kit) si possono scrivere e
compilare applet e applicazioni Java.
Struttura di un programma
Java
unapplicazione pu essere costituita da una o
pi classi.
Struttura di un programma
Java
class <nome classe>
{
public static void main(String args[])
{
// dichiarazioni di variabili
.
.
.
// istruzioni
.
.
.
}
}
Metodo main
public indica che il metodo e pubblico ed e
visibile
Variabili
Le variabili:
<tipo> <nome variabile>;
int prezzo;
Lassegnamento:
<tipo> <nome variabile> = <valore iniziale>;
Costanti
Una costante pu assumere un solo valore
durante tutta lesecuzione del programma:
final double YARD_METRO = 0.914;
Il casting
Il casting e il meccanismo che consente al
programmatore di indicare la conversione da un tipo di
dato a un altro tipo.
floatNum = 13.278f;
intNum = (int) floatNum;
Operatori
Le operazioni aritmetiche: +, -, *, /.
Loperatore % e usato per calcolare il resto.
Operatori di incremento e di decremento: ++ e .
i++;
Operatori di confronto
Operatori di confronto: loperatore di uguaglianza
rappresentato da due simboli di uguale (==).
if (voto == 6)
{
System.out.println("sufficiente");
}
Operatori booleani
Loperatore && (oppure &) indica loperazione
di AND.
Standard output
System.out.println("messaggio da visualizzare");
Standard input
System.in gestisce il flusso di dati inseriti da tastiera.
classe BufferedReader
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader tastiera = new BufferedReader(input);
Struttura di sequenza
La struttura di sequenza viene realizzata posizionando le
istruzioni una di seguito allaltra e separandole con il
punto e virgola.
Ogni dichiarazione e istruzione deve terminare con il
punto e virgola.
Struttura di selezione
La struttura di selezione:
if (condizione)
{
// istruzioni eseguite se la condizione e vera
}
else
{
// istruzioni eseguite se la condizione e falsa
}
Selezione multipla
La struttura di selezione multipla:
switch (espressione)
{
case valore1: // istruzioni
break;
case valore2: // istruzioni
break;
. . . .
default: // istruzioni
break;
}
Struttura di ripetizione
while
while (condizione)
{
// istruzioni
}
Struttura di ripetizione
do while
do
{
// istruzioni
}
while (condizione);
for
for (inizializzazione; condizione; aggiornamento)
{
// istruzioni
}
Eccezioni
Uneccezione e una situazione anomala che si verifica
durante lesecuzione del programma.
try
{
// istruzioni da controllare
}
catch(eccezione)
{
// operazioni da eseguire se si verifica l'eccezione
}
Eccezioni predefinite
ArithmeticException: segnala errori aritmetici
NullPointerException: errore dovuto allutilizzo di un
riferimento che possiede il valore null
Classi e oggetti
Oggetti
La programmazione orientata agli oggetti,
OOP (Object-Oriented Programming), prende il nome
dallelemento su cui si basa, loggetto.
OOP
Vantaggi
Oggetti
Gli oggetti rappresentano le entit del
problema o della realt che si vuole
automatizzare con linformatica.
Attributi e metodi
Gli attributi rappresentano gli elementi che
caratterizzano loggetto, utili per descrivere le sue
propriet e definirne il suo stato.
I metodi rappresentano le funzionalit che
loggetto mette a disposizione.
Istanza
Per utilizzare un oggetto occorre crearlo come esemplare
della classe, cio come istanza di una classe.
velocit = 60
colore = rosso
numero di porte = 5
livello del carburante =
posizione della marcia = 3
Incapsulamento
Il termine incapsulamento indica la propriet degli oggetti
di incorporare al loro interno sia gli attributi che i metodi,
cio le caratteristiche e i comportamenti delloggetto.
Dichiarazione di un oggetto
dichiarazione di un oggetto:
NomeClasse nomeOggetto;
creazione dellistanza:
nomeOggetto = new NomeClasse();
Dichiarazione di un attributo
dichiarazione di un attributo:
livelloDiVisibilit tipo nomeAttributo;
Esempi:
private int x, y, z;
public double altezza = 15.76;
Livelli di visibilit
public
lattributo accessibile da qualsiasi altra classe
private
permette di nascondere lattributo allinterno
delloggetto
protected
visto allesterno solo dalle classi che appartengono
alla stessa libreria oppure dalle sottoclassi della
classe in cui stato dichiarato lattributo.
Altre caratteristiche
static
indica un attributo legato alla classe
final
se lo si vuole rendere una costante, in modo che possa
assumere un unico valore.
Esempio
Il metodo che esegue la somma di due numeri interi
passati come parametri:
public int addizione (int a, int b)
{
int sum;
sum = a+b;
return sum;
}
Valore di ritorno
Il tipo del valore di ritorno indica quale sar il valore
restituito al termine dellesecuzione del metodo.
Istruzione return
public int max(int a, int b)
{
if (a > b)
{
return a;
}
else
{
return b;
}
}
Livelli di visibilit
I livelli di visibilit di un metodo:
public
pu essere richiamato da qualunque altra classe
private
non pu essere richiamato esternamente alla classe in
cui dichiarato
protected
visibile solo dalle classi che appartengono alla
stessa libreria oppure dalle sottoclassi della classe in
cui dichiarato
Creazione di oggetti
Lallocazione delloggetto riserva lo spazio per
memorizzare gli attributi delloggetto e viene codificata con
loperatore new seguito dal nome della classe.
Creazione di oggetti
Creare unistanza della classe Cerchio usando il
costruttore e indicando un valore di inizializzazione
per lattributo raggio.
Cerchio ruota = new Cerchio(0.41);
Invocazione di un metodo:
nomeOggetto.metodo(parametri)
Information hiding
Il termine information hiding indica il mascheramento
delle modalit di implementazione di unoggetto,
rendendone disponibile allesterno solo le funzionalit.
Esempio
class Automobile
{
private final int POSIZIONE_MAX = 6;
private int posMarcia;
public Automobile()
{
posMarcia = 1;
}
public int getMarcia()
{
return posMarcia;
}
Interfaccia
il termine interfaccia riferito alle classi:
Linterfaccia di una classe indica lelenco dei metodi
pubblici, cio linsieme delle funzionalit utilizzabili dalle
istanze della classe.
Ereditariet
Lereditariet rappresenta la possibilit di creare nuove classi
a partire da una classe gi esistente (classe base). La nuova
classe eredita tutti gli attributi e i metodi della classe base e
pu essere arricchita con nuovi attributi e nuovi metodi. La
classe cos ottenuta si chiama classe derivata..
Sottoclasse e superclasse
La classe che stata derivata da unaltra usando
lereditariet prende il nome di sottoclasse.
Grafo di gerarchia
Classe derivata
La nuova classe si differenzia dalla sopraclasse:
Dichiarazione di una
sottoclasse
class NomeSottoClasse extends NomeSopraClasse
{
. . .
}
Classe Object
Classe da cui vengono derivate tutte le altre
Polimorfismo
Il polimorfismo indica la possibilit per i metodi di
assumere forme, cio implementazioni, diverse allinterno
della gerarchia delle classi.
Due tipi di polimorfismo:
Librerie
Le librerie sono un insieme di classi gi compilate
che possono essere richiamate e usate allinterno
dei programmi. Java usa il termine package.
Esempi:
java.applet
java.awt
java.io
java.lang
java.net
java.util
Librerie
Per riferirsi a una classe contenuta in un particolare package:
NomePackage.NomeClasse
Librerie
Per importare tutte le classi contenute nel package java.io:
import java.io.*;;
Classe String
Inclusa nel package java.lang.
Classe String