CodeGym /Corsi /JAVA 25 SELF /Stringhe e testo: tipo Str...

Stringhe e testo: tipo String, lavoro con le stringhe

JAVA 25 SELF
Livello 2, Lezione 2
Disponibile

1. Analizziamo in dettaglio il tipo String

Il tipo String è uno dei tipi più usati in Java. Forse il più usato in assoluto. È semplicemente un tipo eccellente, perché in tali variabili si può memorizzare testo. Inoltre, a differenza dei tipi int e double, gli oggetti di tipo String hanno un sacco di funzioni diverse, e con esse si possono fare molte cose interessanti.

Inoltre, tutti gli oggetti in Java (proprio tutti) possono essere convertiti al tipo String. O, per dirla in modo più corretto, tutti gli oggetti in Java restituiscono la loro rappresentazione testuale (stringa). Torneremo più volte su questo tipo (è davvero utile e interessante), ma oggi ci limiteremo alle basi.

Creazione di variabili di tipo String

Il tipo String è stato creato per memorizzare stringhe (testo). Per creare nel codice una variabile capace di memorizzare del testo, usa il comando:

String imya;
Creazione di una variabile di tipo String

Dove imya è il nome della variabile.

Esempi:

Comando Descrizione
String name;
Viene creata la variabile stringa name
String message;
Viene creata la variabile stringa message
String text;
Viene creata la variabile stringa text

Così come con i tipi int e double, si può usare una forma breve per creare più variabili di tipo String:

String imya1, imya2, imya3;
Creazione di variabili di tipo String

2. Assegnazione di valori alle variabili di tipo String

Per assegnare un valore a una variabile di tipo String, usa il comando:

imya = "valore";
Assegnazione di un valore a una variabile di tipo String

E qui troviamo la prima differenza rispetto ai tipi già studiati. Tutti i valori di tipo String sono stringhe di testo e devono essere racchiusi tra doppi apici.

Esempi:

Comando Nota
String name = "Anya";
La variabile name contiene il testo Anya
String city = "New York";
La variabile city contiene il testo New York
String message = "Hello!";
La variabile message contiene il testo Hello!

3. Inizializzazione delle variabili di tipo String

Come per i tipi int e double, le variabili di tipo String possono essere inizializzate subito al momento della creazione. Questo, tra l’altro, si può fare con qualunque tipo in Java. Non lo ripeteremo più.

String imya1 = "valore1", imya2 = "valore2", imya3 = "valore3";
Forma abbreviata di creazione e inizializzazione delle variabili
String name = "Anya", city = "New York", message = "Hello!";
Esempio di comando di creazione e inizializzazione delle variabili

Si possono modificare solo variabili con un valore

Il compilatore Java si lamenterà se dichiari una variabile senza assegnarle alcun valore e proverai a usarla.

Questo codice non funzionerà:

String name;
System.out.println(name); // La variabile name non è inizializzata. Il programma non verrà compilato.
int a;
a++; // La variabile a non è inizializzata. Il programma non verrà compilato.
double x;
double y = x; // La variabile x non è inizializzata. Il programma non verrà compilato.

4. Concatenazione — unire le stringhe

C’è una cosa molto interessante e semplice che si può fare con le stringhe in Java — si possono unire. Questa operazione si chiama concatenazione. Per ricordarla più facilmente — «Con-ca-te-na-zione» 😆. Spesso viene anche chiamata «unione di stringhe» o semplicemente «somma di stringhe».

Per unire due stringhe, si usa il segno +. È molto semplice:

"stringa1" + "stringa2"
Concatenazione di due stringhe

Esempi:

Comando Nota
String name = "Anya" + "Anya";
name contiene la stringa AnyaAnya
String city = "New York" + "Anya";
city contiene la stringa New YorkAnya
String message = "Hello! " + "Anya";
message contiene la stringa Hello! Anya

Naturalmente si possono sommare molte stringhe contemporaneamente, nonché sommare stringhe e variabili.

String name = "Anya";                // name contiene la stringa Anya
String city = "New York";           // city contiene la stringa New York
String message = "Hello!" + city + name + city; // message contiene la stringa Hello!New YorkAnyaNew York

5. Stringhe vuote

Nell’ultimo esempio si vede che il testo nella variabile message è poco leggibile, perché mancano gli spazi. Per inserire uno o più spazi, basta scriverli nel codice e racchiuderli tra doppi apici. È più semplice di quanto sembri:

" "
Stringa che contiene uno spazio

A proposito, se tra gli apici non si lascia alcuno spazio (si scrivono due doppi apici consecutivi), si ottiene la cosiddetta «stringa vuota»:

""
Stringa vuota

Da un lato c’è, ma dall’altro, quando la si stampa a schermo, non appare nulla. E quando la si unisce ad altre stringhe, non succede nulla. Una sorta di analogo dello zero, ma per le stringhe.

6. Escape dei caratteri speciali nelle stringhe

Sai già che le stringhe sono racchiuse tra doppi apici. Ma cosa fare se bisogna inserire apici all’interno della stringa? Se scriviamo i doppi apici nella stringa, il compilatore non li considererà come la fine della stringa?

Esatto. Li considererà. Perciò le virgolette all’interno del testo si sostituiscono con la coppia di caratteri \". E il codice apparirà così:

String quote = "Lui ha detto: \"Salve!\"";
System.out.println(quote); // Lui ha detto: "Salve!"

In realtà è un po’ più sottile. Il simbolo \ è considerato speciale (di controllo) all’interno delle stringhe. Con il suo aiuto si possono specificare vari «caratteri non stampabili» come il ritorno a capo, la tabulazione ecc. E per specificare il simbolo \ stesso, bisogna scriverlo due volte.

Ecco le 4 combinazioni più diffuse:

Notazione Significato
\n A capo (newline)
\t Tabulazione (indentazione)
\\ Il carattere \ letterale
\" Virgolette all’interno della stringa

Esempio:

String multiline = "Riga 1\nRiga 2";
System.out.println(multiline);

Produrrà:

Riga 1
Riga 2

7. Metodi delle stringhe

Il tipo String ha metodi propri (chiamati anche funzioni). Sono numerosissimi e facilitano la vita ai programmatori. Oggi conoscerai alcuni dei più semplici. Esempio:

Funzione Descrizione Esempio di risultato
str.length()
Lunghezza della stringa
"abc".length() → 3
str.toUpperCase()
In maiuscolo
"abc".toUpperCase() → "ABC"
str.toLowerCase()
In minuscolo
"ABC".toLowerCase() → "abc"
str.trim()
Rimuovere gli spazi iniziali e finali
"  x y  ".trim() → "x y"

Esempi di utilizzo dei metodi delle stringhe

Tutti questi metodi si invocano così: variabile.funzione(...).

Determinare la lunghezza di una stringa:

String name = "Andrey";
int length = name.length();
System.out.println(length); // 6, perché sono 6 lettere

Convertire una stringa in maiuscolo o minuscolo:

String original = "Ciao";
System.out.println(original.toUpperCase()); // CIAO
System.out.println(original.toLowerCase()); // ciao

Rimuovere gli spazi ai bordi (molto utile durante l’input da tastiera):

String messy = "   hello   ";
System.out.println(messy.trim()); // "hello"

Ciascuno di questi metodi restituisce una nuova stringa; la stringa originale non cambia.

1
Compito
JAVA 25 SELF, livello 2, lezione 2
Bloccato
Messaggio dal futuro 👽
Messaggio dal futuro 👽
1
Compito
JAVA 25 SELF, livello 2, lezione 2
Bloccato
Creazione del nome completo 👤
Creazione del nome completo 👤
1
Compito
JAVA 25 SELF, livello 2, lezione 2
Bloccato
Citazione dell'eroe 🗣️
Citazione dell'eroe 🗣️
1
Compito
JAVA 25 SELF, livello 2, lezione 2
Bloccato
Elaborazione dei dati del modulo 📝
Elaborazione dei dati del modulo 📝
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION