Introduzione a Java JAVA Caratteristiche linguaggio OO ibrido

JAVA
Introduzione a Java
Paolo Bison
Fondamenti di Informatica 1
A.A. 2003/04
“Java:
the elegant simplicity of C++
and
the blazing speed of Smalltalk.”
Università di Padova
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.2/19
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.1/19
Caratteristiche
Perchè Java
linguaggio OO ibrido
basato sul C
dinamico
robusto e sicuro
gestione della memoria
relativamente performante
interpretato (Virtual Machine)
portabile
tipizzato
classi base
ereditarietà singola + interfacce
networking
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.3/19
Ambiente di sviluppo
ciclo di sviluppo
edit
compile
Paradigma di programmazione
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.4/19
procedurale (livello base)
tipi primitivi ed istruzioni
run
strumenti
Sun Java 2 SDK
Integrated Development Enviroment (IDE)
BlueJ
orientato agli oggetti
classi
browser delle classi
docs html + browser WWW
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.6/19
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.5/19
Cos’è un programma Java ?
Sintassi e semantica
class E [ integer x ]
J. Gosling, B. Joy, G. Steele, G. Bracha,
class E
Java Language Specification Second Edition
int x;
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.7/19
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.8/19
Espressioni ed Istruzioni
Alcuni operatori
espressione
definisce un valore che si ottiene valutando
l’espressione (valore di ritorno)
formata da costanti, variabili, operatori ed
espressioni
elemento tipizzato
unari
+espr -espr
istruzione
definisce un azione
formata da keywords, espressioni ed istruzioni
non ritorna un valore
relazionali
moltiplicativi
* / %
additivi
+ -
=
=
uguaglianza
== !=
assegnazione
=
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.9/19
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.10/19
<FieldDeclaration>
Classe
unità di programmazione in Java
dichiarazioni delle variabili di stato dell’oggetto
struttura sintattica
class <Identifier>
{
<FieldDeclaration>
<MethodDeclaration>
}
struttura sintattica
<Type> <IdentifierList> ;
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.12/19
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.11/19
Tipo
Interi
tipi primitivi
interi
reali
caratteri
logici
byte
-128 : 127
short
-32768 : 32767
int
-214147483648 : 2147483647
classi
long
-9223372036854775808 : 9223372036854775807
rappresentazione valori interi
operatori sugli interi + - * / %
costanti
0 | 0x | 0X
seq cifre l|L
123 0XFFF 29L 0377
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.13/19
Logici
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.14/19
<MethodDeclaration>
boolean
dichiarazione dei metodi
valori di verità
sintassi
operatori di relazione ed uguaglianza
costanti
true
false
<Type> <Identifier> ( <FormalParList> )
{
<body>
}
<tipo>: primitivo, classe,void
<FormalParList>: lista di identificatori con il tipo
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.15/19
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.16/19
Metodo
Istruzioni <istr> I
<body>
dichiarazioni variabili locali
(ambito di validità)
istruzioni
valore di ritorno di un metodo
return <espressione> ;
espressione seguita da ;
assegnazione
<id>=<espr>;
condizionale
if (<espr>) <istr>
[ else <istr>]
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.17/19
Istruzioni <istr> II
cicli
while ( <espr>) <istr>
do <istr> while ( <espr>)
blocco
sequenza di istruzioni tra { }
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.19/19
Introduzione a Java, Paolo Bison, A.A. 2003-04, 2003-10-14 – p.18/19