Title: Programmazione in Java
1Programmazione in Java
- Claudia Raibulet
- raibulet_at_disco.unimib.it
2Stringhe
- Sono definite come sequenze di caratteri
- String è una classe (quindi un tipo non
primitivo) che permette di memorizzare le
stringhe - String è una classe particolare che si può
utilizzare in modo simile ad un tipo primitivo
si può dichiarare una variabile di questo tipo e
assegnarli un valore senza dover creare un
oggetto - Osservazione essendo una classe inizia con una
maiuscola!!!
String s Corso di Informatica
3Metodi della classe String
Nome metodo Tipo restituito Uso Descrizione
length() int ns.length() Restituisce il numero di caratteri di una stringa
charAt(int) char cs.charAt(3) Restituisce il carattere alla posizione specificata
equals(String) boolean s1.equals(s2) Compara due stringhe per verificare se sono uguali
toLowerCase() String s.toLowerCase() Restituisce la stringa con tutti i caratteri in minuscolo
toUpperCase() String s.toUpperCase() Restituisce la stringa con tutti i caratteri in maiuscolo
4Metodi della classe String
Nome metodo Tipo restituito Uso Descrizione
concat(String) String s1.concat(s2) Concatena alla stringa s1 la stringa s2
substring(int, int) String s1s2.substring(x, y) Restituisce la stringa formata dai caratteri che vanno dalla posizione x alla posizione y-1
substring(int) String s1s2.substring(x) Restituisce la stringa formata dai caratteri che vanno dalla posizione x fino alla fine della stringa
5Osservazione
- Non è possibile definire una stringa che occupa
più di una riga!!!
String s Oggi abbiamo lezione
dalle 10.30
6char vs. String
- Una variabile di tipo char può contenere un unico
carattere - Una variabile di tipo String contiene una
sequenza di caratteri
char c a String s Domenica String
str x //NO!!!!!!!!!!!!!!
7Esercizio 1
- Si chiede di scrivere sullo standard output la
lunghezza della stringa Domenica e della
stringa vuota
String s Domenica System.out.println(Lunghez
za stringa s.length()) String s1
System.out.println(Lunghezza stringa vuota
s1.length())
8Esercizio 2
- Che cosa sara stampato sullo standard output?
String s1 Oggi String s2 Domani String
s3 s1.concat(s2) System.out.println(s3
s3)
s3 s3s1s2 System.out.println(s3
s3)
9Esercizio 3
- Che cosa sara stampato sullo standard output?
String s1 Oggi, s2 Domani String
s5 boolean s3 S3 s1.equals(s2) System.out.pr
intln(Sono le stringhe uguali? s3) S5
Oggi s3 s1.equals(s5) System.out.println(So
no le stringhe uguali? s3)
10Esercizio 4
- Che cosa sara stampato sullo standard output?
String s1 Corso di programmazione String s2,
s3 s2 s1.substring(6,8) s3
s1.substring(9) System.out.println(La stringa
s2 s2) System.out.println(La stringa s3
s3)
11Istruzioni while e for
12while
- Sintassi generale
- Osservazione il non si mette dopo la
condizione!!!
while (condizione) istruzione1 istruzione2,
13for
- Sintassi generale
- Osservazione il non si mette dopo la
condizione!!!
for (inizializzazioni condizione
incremento) istruzione1 istruzione2,
14while vs. for
- Si chiede di scrivere 10 volte sullo schermo la
stringa corso di infomatica.
String s corso di informatica int
i i0 while (ilt10) System.out.println(s) i
String s corso di informatica int i for
(i0 ilt10 i) System.out.println(s)
15Esercizio 1
- Dandosi un valore intero positivo n, si chiede di
calcolare n! (fattoriale di n)
int n 10, x n int fattoriale 1 while ( n
gt 1 ) fattoriale fattoriale n n--
System.out.println(Fattoriale di " x
" fattoriale)
16Esercizio 2
- Dandosi una stringa si chiede di stampare quanti
spazi contiene, oppure il messaggio non ci sono
spazi se la stringa non contiene nessun spazio.
String sIeri e oggi e domani int noSp 0,
index0 while ( index lt s.length() ) if (
s.charAt(index) ) noSp if ( noSpgt0
) System.out.println(Numero spazi
noSp) else System.out.println(Non ci sono
spazi)
17Esercizio 3
- Dandosi una stringa si chiede di scriverla al
contrario. - Esempio Ciao -gt oaiC
String sCiao int indexs.length()-1 while (
index gt 0) System.out.print(s.charAt(index--))
System.out.println()