Salta ai contenuti

Stringhe

Una stringa e un testo. In Java il tipo per i testi e String.

String nome = "Luca";
String messaggio = "Benvenuto";

Le stringhe usano le virgolette doppie.

String parola = "ciao";

Gli apici singoli, invece, servono per un solo carattere:

char iniziale = 'L';

Per unire stringhe, usa +.

String nome = "Luca";
String saluto = "Ciao, " + nome + "!";
System.out.println(saluto);

Output:

Ciao, Luca!

Puoi unire anche numeri:

int eta = 20;
System.out.println("Eta: " + eta);

Java converte il numero in testo per costruire il messaggio.

Le stringhe hanno metodi, cioe azioni che puoi chiamare sul valore.

length() conta i caratteri:

String nome = "Sara";
System.out.println(nome.length());

Output:

4

La chiamata si legge cosi: “sulla stringa nome, esegui il metodo length”.

Per confrontare il contenuto di due stringhe, usa equals.

String password = "segreto";
System.out.println(password.equals("segreto"));
System.out.println(password.equals("ciao"));

Output:

true
false

Attenzione: con le stringhe evita == per confrontare il testo. Usa equals.

== controlla se due riferimenti puntano allo stesso oggetto. equals controlla se il contenuto e uguale.

Per iniziare, ricordati questa regola pratica:

testo.equals("valore")

substring prende una parte del testo.

String parola = "programmare";
String parte = parola.substring(0, 7);
System.out.println(parte);

Output:

program

Gli indici partono da 0. Il primo numero e incluso, il secondo e escluso.

In "programmare":

  • indice 0: p
  • indice 1: r
  • indice 2: o

substring(0, 7) prende i caratteri dagli indici 0 a 6.

Altri metodi utili:

String nome = "Luca";
System.out.println(nome.toUpperCase());
System.out.println(nome.toLowerCase());

Output:

LUCA
luca

Questi metodi non modificano la stringa originale. Creano un nuovo testo.

import java.util.Scanner;
public class NomeUtente {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Nome: ");
String nome = scanner.nextLine();
System.out.println("Ciao, " + nome + "!");
System.out.println("Il tuo nome ha " + nome.length() + " caratteri.");
System.out.println("In maiuscolo: " + nome.toUpperCase());
scanner.close();
}
}

Le stringhe saranno ovunque nei programmi Java: messaggi, input, nomi, percorsi di file e dati letti dall’esterno.