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