Classe String Metodi della classe String

Transcript

Classe String Metodi della classe String
Classe String
„
„
„
„
In Java le stringhe di caratteri sono oggetti della classe String che
appartiene alla libreria Java.lang
La classe String include metodi per esaminare singoli caratteri della
sequenza, per confrontare stringhe, per cercare stringhe, per
estrarre sottostringhe, per creare copie della stringa con
trasformazioni in maiusc o minusc, per concatenare stringhe.
Il confronto tra stringhe avviene sulla base del set di caratteri
Unicode
Una volta che un oggetto di tipo String è stato creato è
IMMUTABILE. Esistono numerosi metodi però che restituiscono un
nuovo oggetto di tipo String, risultato di modifiche fatte al valore
originario della stringa.
Metodi della classe String
String (String str)
„
Costruttore: crea un nuovo oggetto di tipo stringa aventi gli stessi
caratteri di str (parametro in input)
String nome; --dichiarazione
nome = new String (“oggi piove”); ---creazione
String nome = new String (“oggi piove”);
char charAt (int index)
„
Restituisce un dato di tipo carattere corrispondente al carattere
all’indice specificato
char mycar;
mycar = nome.charAt (1)
int compareTo (String str)
„
Restituisce un dato di tipo intero che indica se la stringa precede
(torna un valore negativo), è uguale (torna zero) o segue (torna
un valore positivo) la stringa str nell’ordinamento lessicografico.
int mynum;
String nome2 = new String (“domani sara bel tempo”);
mynum= nome.compareTo (nome2)
1
Metodi della classe String
String concat(String str)
„
Restituisce una nuova stringa che è il risultato del concatenamento della
stringa precedente con il valore di str.
boolean equals (String str)
boolean equalsIgnoreCase (String str)
„
Restituisce true se la stringa contiene gli stessi caratteri di str, false
altrimenti. Il primo considera anche maius e minuscole, il secondo no.
int length ()
„
Restituisce il numero di caratteri della stringa
String replace (char OldChar, char newChar)
„
Restituisce una nuova stringa identica a quella attuale eccetto per il fatto
che ogni occorrenza di oldChar è sostituita da newChar.
Metodi della classe String
String substring(int offset, int endIndex)
„
Restituisce una nuova stringa che è un sottoinsieme di quella attuale
partendo dalla posizione offset fino al carattere endIndex -1.
String toLowerCase()
„
Restituisce una nuova stringa identica a quella attuale tranne per il fatto
che tutte le lettere maiuscole sono convertite in minuscole.
String toUpperCase()
„
Restituisce una nuova stringa identica a quella attuale tranne per il fatto
che tutte le lettere minuscolo sono convertite in maiuscole.
2
L’operatore di concatenazione di
stringhe +
„
„
„
„
Una stringa di caratteri delimitata da doppi
apici non può essere divisa su due linee di
codice.
L’operatore di concatenazione (+) consente
di sommare le due stringhe
Anche un valore numerico può essere
concatenato ad una stringa
L’operatore + si comporta diversamente se
agisce tra numeri o tra stringhe.
Sequenza di escape
„
Java definisce la sequenze di escape per
rappresentare caratteri speciali all’interno di
stringhe (esempio il doppio apice).
‰
‰
‰
‰
‰
‰
\t : Carattere di tabulazione
\n : nuova linea
\r : ritorno di carrello
\” : doppi apici
\’ : singolo apice
\\ : barra inversa
3
Esercizio
„
„
„
„
„
„
Scrivere un programma che, partendo dalla
stringa “oggi piove“
stampi la stringa in maiuscolo
aggiunga alla stringa la frase “, domani sarà
bel tempo”
stampi la nuova frase
restituisca in output la lunghezza della stringa
trasformi tutte le vocali in ‘i’ e stampi il
risultato
public class StringheTester {
// classe di prova per oggetti di tipo String
public static void main(String[] args) {
// frase : frase orginaria
// frase1, frase2, frase3, frase4, frase5 : varibili stringa in cui memorizzare
// la frase traformata
String frase = new String("oggi piove");
String frase2, frase3, frase4, frase5;
int lung;
//operazioni sulle stringhe
frase2 = frase.toUpperCase();
frase3 = frase + ", domani sarà bel tempo";
lung = frase3.length();
//sostituisce tutte le vocali di frase3 con 'i', la stesse operazione poteva essere
//fatta con 4 passaggi distinti (si noti che à non viene sostituito)
frase4 = frase3.replace ('a','i').replace('e','i').replace('u','i').replace('o','i');
}
//stampa dei risultati
System.out.println(frase2);
System.out.println (lung);
System.out.println(frase3);
System.out.println(frase4);
}
4