Fondamenti di Informatica 15-16 Modulo2_10_11_2015

Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Introduzione al JAVA
Java
Fondamenti di Informatica
14
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Introduzione al JAVA
• Cos’è JAVA?
– JAVA e` un linguaggio interpretato di recente introduzione (1991!)
– Il successo di JAVA è legato quasi esclusivamente alla
realizzazione del browser HotJava (1995) ed alla successiva
integrazione della tecnologia JAVA nel browser Netscape
• Quali sono le caratteristiche principali del linguaggio?
– Apprezzare le caratteristiche di JAVA richiede un buon
bagaglio di conoscenza
• Semplicità (deriva da C e C++)
• Programmazione orientata agli oggetti
• Elaborazione distribuita
• Robustezza (non esistono puntatori)
• Sicurezza
• Portabilità
Fondamenti di Informatica
15
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Introduzione al JAVA
• Alcuni equivoci comuni
– JAVA non ha relazioni con il linguaggio HTML; è possibile
tuttavia richiamare un programma JAVA da una pagina
HTML (applet)
– Come tutti i programmi evoluti, JAVA non è di facile
apprendimento. Ha però caratteristiche che lo rendono di
uso abbastanza immediato
– JAVA non è un ambiente di programmazione. Ambienti di
programmazione sono disponibili per JAVA come per altri
linguaggi
– JAVA diventerà un linguaggio universale di
programmazione?…. E’ difficile affermarlo con certezza.
Fondamenti di Informatica
16
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Introduzione al JAVA
• JAVA è un linguaggio lento?
– JAVA è un linguaggio sia
compilato che interpretato
– L’interpretazione del
metacodice è certamente un
punto debole; il problema è
tuttavia superato dall’utilizzo
di compilatori “just in time”
Programma sorgente
JAVA
Compilatore
(javac)
metacodice (bytecode)
Interprete
Java Virtual
Machine
Librerie, oggetti
rilocabili
Fondamenti di Informatica
(java)
17
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: tipi, variabili, operatori
Tipi,
Dichiarazione di Variabile,
Assegnamento di Variabile,
Operatori sui Tipi
Fondamenti di Informatica
18
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: tipi, variabili, operatori
• Tipi fondamentali
– Numeri in virgola mobile
float range da 1.40129846432481707E-45
a 3.40282346638528860E+38 (pos,neg)
(7 cifre decimali significative)
double range da 4.94065645841246544E-324
a 1.79769313486231570E+308 (pos,neg)
(15 cifre decimali significative)
– Interi
int
long
->
->
short
byte
->
->
da -2.147.483.648 a 2.147.483.647
da -9.223.372.036.854.775.808
a
+9.223.372.036.854.775.807
da -32.768 a 32.767
da -128 a 127
Fondamenti di Informatica
19
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: tipi, variabili, operatori
• Tipi fondamentali
– Caratteri
char codice a due byte (unicode) per 65536 simboli
NB:
Il codice si esprime normalmente come
\uXXXX dove XXXX sono cifre esadecimali
–Booleani
Boolean
->
true oppure false
Utilizzati per test logici e per operazioni di confronto
Fondamenti di Informatica
20
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: tipi, variabili, operatori
• Dichiarazione e assegnazione di variabili
byte b;
int anInteger;
long aLong;
char ch;
char yesch, capitalA;
yesch = ‘Y’;
capitalA = ‘\u0041’; //corrisponde al carattere A
boolean k=true;
int i; // this is a declaration
i = 37; // this is an assignment
Fondamenti di Informatica
21
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: tipi, variabili, operatori
• Operatori
int n = 5;
int a = 2+n;
// a vale
int b = a-3;
// b vale
int c = a*b;
// c vale
int d = a/b;
// d vale
________________________
int m = 7;
int n = 7;
int k;
n++;
m--;
k = m*n;
Fondamenti di Informatica
//
//
//
//
k
n
m
k
7
4
28
1 !!!!
non è inizializzata
vale 8
vale 6
vale 48
22
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: tipi, variabili, operatori
•Operatori relazionali
–Operatori per fare confronti:
Uguali
(a==b)
Diversi
(a!=b)
Maggiore
(a>b)
Minore
(a<b)
Maggiore o uguale (a>=b)
Minore o uguale
Fondamenti di Informatica
(a<=b)
23
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: tipi, variabili, operatori
•Operatori booleani
– Il risultato di un confronto è una variabile di tipo boolean
(5>7)
è
false
– Posso combinare i valori delle espressioni booleane con
gli operatori AND OR NOT
AND
(a && b)
OR
(a || b)
NOT
(~b)
XOR
(a^b)
Esempio
((5==7) && (5>7))
Fondamenti di Informatica
è
false
24
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: tipi, variabili, operatori
•Stringhe: sequenze di caratteri, racchiuse tra virgolette.
String e = “Hello World”;
String e = “”;
// stringa vuota
•Operazioni sulle stringhe:
–Sottostringhe: tramite la funzione (metodo) substring
String e = “Hello World”;
String s = e.substring(0,5)
// sottostringa che inizia in posizione
// 0 e finisce in posizione 5
–Concatenazione: si usa il simbolo +
String e = “Hello ”;
String s = “World”;
String t = e+s;
Fondamenti di Informatica
// t
vale “Hello World”
25
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: tipi, variabili, operatori
–Lunghezza ed estrazione di caratteri
String e = “Hello World”;
char c = e.charAt(4)
// carattere in posizione 4 (“o”)
int l = e.length()
// lunghezza (11)
–Confronto
String e = “Hello”;
String s = “Hi”;
if (e.equals(s))
// vale false
if (e.compareTo(s)) // vale –4
–Ricerca
String e = “Hello”;
int k = e.indexOf(‘e’);
// prima pos. del caratt “e” (1)
Fondamenti di Informatica
// vale –1 se non trovo corrisp.
26
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: struttura di classe
Programmi Java:
istruzioni di input/output
Fondamenti di Informatica
27
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: struttura di classe
• La struttura di un semplice programma JAVA
Nome classe
public class Hello
{ public static void main(String[] args)
{
Istruzione 1
Programma
Istruzione 2
vero e proprio
Istruzione 3
…
}
}
Fondamenti di Informatica
28
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: istruzioni I/O
• Esempio 1.0
stampare il messaggio ”Benvenuto nel mondo Java !” a video,
utilizzando una delle due seguenti istruzioni di output
System.out.println("Benvenuto nel mondo Java !");
System.out.print("Benvenuto nel mondo Java !");
Fondamenti di Informatica
29
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: istruzioni I/O
•
Esempio 1.0: stampare una stringa in output
START
Stampa messaggio il messaggio
"Benvenuto nel mondo Java !"
END
Fondamenti di Informatica
30
Università di Sassari Dipartimento PolComIng - A.A. 2015-2016
Fondamenti del linguaggio: istruzioni I/O
// stampa a video la stringa “Benvenuto nel mondo Java !”
import java.util.*;
// libreria…utilità di sistema!
public class esempio1_0{
public static void main(String[] args) {
System.out.print("Benvenuto nel mondo Java !");
}
}
Fondamenti di Informatica
31