I DATI
DATI
DATI INPUT PROGRAMMA
OUTPUT
TIPI DI DATO 2
1
09/11/19
I TIPI DI DATO
Memoria
int a;
...//Programma
a 0 0 1 1 01 0 0 0
int b; b 0 1 1 0 1 0
TIPI DI DATO 3
VARIABILI: DICHIARAZIONE
Identificatore
COSTANTI E VARIABILI 4
2
09/11/19
• Gli identificatori (nomi delle variabili e delle classi) sono fondamentali per
assegnare dei nomi facili da ricordare ad aree della memoria RAM.
ESPRESSIONI ED OPERATORI 5
• Gli identificatori (nomi delle variabili e delle classi) sono fondamentali per
assegnare dei nomi facili da ricordare ad aree della memoria RAM.
ESPRESSIONI ED OPERATORI 6
3
09/11/19
• L‘identificatore HelloWorld è
– diverso da HELLOWORLD
– diverso da helloworld
– diverso da hELLOwORLD
– e così via
ESPRESSIONI ED OPERATORI 7
VARIABILI: DICHIARAZIONE
Identificatore
COSTANTI E VARIABILI 8
4
09/11/19
TIPI DI DATO 9
TIPI DI DATO 10
5
09/11/19
TIPI DI DATO 11
TIPI DI DATO 12
6
09/11/19
TIPI DI DATO 13
TIPI DI DATO 14
7
09/11/19
TIPI DI DATO 15
TIPI DI DATO 16
8
09/11/19
TIPI DI DATO 17
TIPI DI DATO 18
9
09/11/19
TIPI DI DATO 19
TIPI DI DATO 20
10
09/11/19
• Il tipo float :
– ha 7 cifre significative;
– il numero più grande è 1038;
TIPI DI DATO 21
• Il tipo float :
– ha 7 cifre significative;
– il numero più grande è 1038;
• Il tipo double :
– ha 15 cifre significative;
– il numero più grande è 10308;
TIPI DI DATO 22
11
09/11/19
• Il tipo float :
– ha 7 cifre significative;
– il numero più grande è 1038;
• Il tipo double :
– ha 15 cifre significative;
– il numero più grande è 10308;
TIPI DI DATO 23
I LETTERALI
TIPI DI DATO 24
12
09/11/19
I LETTERALI
TIPI DI DATO 25
I LETTERALI
TIPI DI DATO 26
13
09/11/19
LETTERALI: ESEMPIO
• Le istruzioni:
float f = 12.3;
TIPI DI DATO 27
LETTERALI: ESEMPIO
• Le istruzioni:
float f = 12.3;
• Bisogna scrivere:
float f = 12.3f;
Letterale
TIPI DI DATO 28
14
09/11/19
LETTERALI INTERI
TIPI DI DATO 29
LETTERALI INTERI
– 177777, -32, 43 ;
– il tipo viene assegnato implicitamente a seconda della dimensione;
TIPI DI DATO 30
15
09/11/19
LETTERALI INTERI
– 177777, -32, 43 ;
– il tipo viene assegnato implicitamente a seconda della dimensione;
TIPI DI DATO 31
TIPI DI DATO 32
16
09/11/19
TIPI DI DATO 33
TIPI DI DATO 34
17
09/11/19
TIPI DI DATO 35
TIPI DI DATO 36
18
09/11/19
TIPI DI DATO 37
CONCATENAZIONE DI STRINGHE
• Esempio 1:
“Ciao ” + “Mondo” diventa la stringa “Ciao Mondo” .
TIPI DI DATO 38
19
09/11/19
CONCATENAZIONE DI STRINGHE
• Esempio 1:
“Ciao ” + “Mondo” diventa la stringa “Ciao Mondo” .
• Esempio 2:
System.out.println(“Ciao, ” + name + “!”);
TIPI DI DATO 39
• s1.equals(s2)
• s1.equalsIgnoreCase(s2)
• s1.length()
• s1.charAt(N)
• s1.substring(N,M)
• s1.indexOf(s2) e anche s1.indexOf(ch)
• s1.compareTo(s2)
• s1.toUpperCase()
• s1.trim()
TIPI DI DATO 40
20
09/11/19
Funzione Significato
s1.equals(s2) Restituisce un booleano che indica se la stringa s1 è uguale alla stringa s2.
Restituisce un booleano (true/false) che indica se la stringa s1 è uguale alla
s1.equalsIgnoreCase(s2)
stringa s2 ingnorando il case (maiuscole e minuscole).
s1.length() Restituisce un numero intero che indica la lunghezza della stringa.
s1.charAt(n) Restituisce l’n carattere della stringa s1.
Restituisce una sottostringa della stringa s1 partendo dall’n-esima lettera all’m-esima
s1.substring(n,m)
lettera (estremi compresi).
Restituisce un numero intero che indica la posizione in cui la stringa s2 è presente
s1.indexOf(s2)
nella stringa s1.
Restituisce un numero intero che indica la posizione in cui il carattere ch è presente
s1.indexOf(ch)
nella stringa s1.
Restituisce un numero intero:
• = 0 se le due stringhe sono uguali
s1.compareTo(s2)
• > 0 se la stringa s1 è maggiore di s2 (secondo l’ordine alfanumerico)
• < 0 se la stringa s1 è minore di s2 (secondo l’ordine alfanumerico)
s1.toUpperCase() Restituisce una stringa costituita da tutte lettere maiuscole della stringa s1.
s1.toLowerCase() Restituisce una stringa costituita da tutte lettere minuscole della stringa s1.
s1.trim() Restituisce una copia della stringa s1 eliminando gli spazi bianchi.
TIPI DI DATO 41
STRINGHE: UN ESEMPIO
public class TestStringhe {
TIPI DI DATO 42
21
09/11/19
LE VARIABILI: RIASSUMENDO…
type-name variable-name
TIPI DI DATO 43
LE VARIABILI: RIASSUMENDO…
type-name variable-name
• Esempi
int numberOfStudents;
String name;
double x, y;
boolean isFinished = true;
char firstInitial, middleInitial, lastInitial;
TIPI DI DATO 44
22
09/11/19
LE VARIABILI: RIASSUMENDO…
type-name variable-name
• Esempi
int numberOfStudents;
String name;
double x, y;
boolean isFinished = true;
char firstInitial, middleInitial, lastInitial;
Tipi di dato
TIPI DI DATO 45
LE VARIABILI: RIASSUMENDO…
type-name variable-name
• Esempi
int numberOfStudents;
String name;
double x, y;
boolean isFinished = true;
char firstInitial, middleInitial, lastInitial;
TIPI DI DATO 46
23
09/11/19
LE VARIABILI: RIASSUMENDO…
type-name variable-name
• Esempi
int numberOfStudents;
String name;
double x, y;
boolean isFinished = true;
char firstInitial, middleInitial, lastInitial;
Tipi di dato Assegnamento Per dichiarare più variabili dello stesso tipo
TIPI DI DATO 47
LA CLASSE SCANNER
TIPI DI DATO 48
24
09/11/19
LA CLASSE SCANNER
TIPI DI DATO 49
LA CLASSE SCANNER
• Per usare una classe creata da altri programmatori e disponibile nelle librerie di
Java dobbiamo usare la seguente sintassi:
import nome-qualificato-classe
TIPI DI DATO 50
25
09/11/19
LA CLASSE SCANNER
• Per usare una classe creata da altri programmatori e disponibile nelle librerie di
Java dobbiamo usare la seguente sintassi:
import nome-qualificato-classe
• Nel nostro caso, per leggere input di testo dal terminale, importiamo la classe
Scanner
import java.util.Scanner
• java.util è il nome del package che contiene Scanner e altre classi di utilità.
TIPI DI DATO 51
La classe Scanner mette a disposizione una serie di metodi utili a leggere diversi
tipi di dato:
TIPI DI DATO 52
26
09/11/19
import java.util.Scanner;
TIPI DI DATO 53
ANOMALIA DELL’INPUT
TIPI DI DATO 54
27
09/11/19
ANOMALIA DELL’INPUT
import java.util.Scanner;
System.out.println("Anni:" + eta);
System.out.println("Nome:" + nome);
OUTPUT
stdin.close();
Ciao, quanti anni hai? 34
}
Come ti chiami? Anni: 34
}
Nome:
TIPI DI DATO 55
ANOMALIA DELL’INPUT
TIPI DI DATO 56
28
09/11/19
ANOMALIA DELL’INPUT
import java.util.Scanner;
System.out.println("Anni:" + eta);
System.out.println("Nome:" + nome); OUTPUT
Ciao, quanti anni hai? 34
stdin.close();
Come ti chiami? Giuseppe
}
Anni: 34
}
Nome: Giuseppe
TIPI DI DATO 57
29