Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Stringhe Fondamenti informatica, Appunti di Elementi di Informatica

Appunti esame informatica molto utili

Tipologia: Appunti

2020/2021

Caricato il 04/01/2021

valentina-mandaglio-1
valentina-mandaglio-1 🇮🇹

4.5

(66)

42 documenti

1 / 10

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
1
10110
01100
01011
Fondamenti di Informatica - D. Talia - UNICAL 1
Fondamenti di Informatica
Stringhe di caratteri in Java:
la classe String
10110
01100
01011
Fondamenti di Informatica - D. Talia - UNICAL 2
Stringhe e classe String
Una stringa è una sequenza finita di caratteri.
In Java la rappresentazione di informazioni di tipo testuale
(sequenze di caratteri) avviene mediante l’uso di oggetti della
classe String che rappresentano stringhe di caratteri.
Non esiste il tipo primitivo stringa ma esiste una classe
predefinita String.le stringhe sono oggetti in Java.
Le operazioni su stringhe sono realizzate mediante metodi della
classe String.
Un oggetto String rappresenta una sequenza finita di caratteri
dell’alfabeto Unicode.
c i a o c i a o
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica Stringhe Fondamenti informatica e più Appunti in PDF di Elementi di Informatica solo su Docsity!

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica

Stringhe di caratteri in Java:

la classe String

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 2

Stringhe e classe String

 Una stringa è una sequenza finita di caratteri.

 In Java la rappresentazione di informazioni di tipo testuale (sequenze di caratteri) avviene mediante l’uso di oggetti della classe String che rappresentano stringhe di caratteri.

 Non esiste il tipo primitivo stringa ma esiste una classe predefinita String.  le stringhe sono oggetti in Java.

 Le operazioni su stringhe sono realizzate mediante metodi della classe String.

 Un oggetto String rappresenta una sequenza finita di caratteri dell’alfabeto Unicode.

c i a o c i a o

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 3

Stringhe e classe String

 In Java una stringa è una sequenza finita di caratteri racchiusa tra virgolette, come “buongiorno”. (le virgolette non fanno parte della stringa)

 Per dichiarare una variabile stringa: String nome; // stringa con valore nullo String nome = “Luigi”;

 ll secondo caso equivale alla creazione e inizializzazione dell’oggetto nome : nome = new String(“Luigi”);

 In Java, la creazione degli oggetti istanza avviene in genere mediante l’uso dell’operatore new , l’unica eccezione è data dai letterali String che possono essere creati come sopra.

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 4

Classe String: metodo length()

 Una stringa vuota è un oggetto String che rappresenta una sequenza vuota di caratteri , cioè una stringa di lunghezza zero. La stringa vuota è denotata dal letterale "".

 Il metodo int length() della classe String calcola la lunghezza della stringa, cioè il numero di caratteri che compongono la stringa.

 Ad esempio,  nome.length() vale 5  “buongiorno".length() vale 10  “”.length() vale 0

 Gli elementi della stringa vanno dalla posizione 0 a length()-1.

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 7

Esempio 2

 Calcolare il numero di occorrenze di un carattere c in una stringa s.

public static int occorrenze(String s, char c) { int occor; // numero di occorrenze di c in s int i; int lung; // lunghezza di s

lung = s.length(); occor = 0; for (i=0; i<lung ; i++) if (s.charAt(i) == c) occor++; return occor; }

 Se s=“canzone” e c=‘n’, il metodo ritorna 2.

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 8

Classe String: metodo concat()

 La concatenazione di stringhe, a partire da due stringhe, permette di ottenere una stringa il cui valore è dato dalla sequenza di caratteri della prima stringa seguita dalla sequenza di caratteri della seconda stringa.

 Il metodo String concat(String x) della classe String implementa la concatenazione di stringhe.

 concat crea e restituisce un nuovo oggetto String composto dai caratteri della stringa su cui il metodo viene invocato seguiti dai caratteri della stringa argomento x.

 Ad esempio String s1, s2, s3; s1 = “barba"; s2 = “gianni"; s3 = s1.concat(s2); /* la stringa s3 varrà “barbagianni" */

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 9

Classe String: operatore +

 La concatenazione di stringhe si può effettuare anche tramite l’operatore + (inteso come concatenazione).

 Ad esempio String s1, s2, s3; s1 = “barba"; s2 = “gianni"; s3 = s1 + s2; /* la stringa s3 varrà “barbagianni" / System.out.println (s1 + s2); / stampa “barbagianni" / System.out.println (“la ”+s1+” di “ + s2); / stampa “la barba di gianni" */

 L’operatore + è sovraccarico perchè opera su numeri e stringhe. Questo è un esempio di overloading predefinito.

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 10

Esempio 3

 Calcolare la stringa inversa di una data stringa s

public static String reverse(String s) { String inv; // la stringa inversa di s int i;

inv = ""; for (i=s.length()-1; i>=0; i--) inv = inv + s.charAt(i); return inv; }

 Se s=“asor” il metodo ritorna “rosa”.

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 13

Classe String: indexOf

 Il metodo int indexOf(char c) della classe String verifica se la stringa su cui il metodo viene invocato contiene il carattere c.

 Se il carattere c’è restituisce la prima posizione in cui occorre il carattere oppure restituisce il valore –1 che indica una posizionenon ammessa. Ad esempio  “JAVA".indexOf(‘V') vale 2  s1.indexOf(‘e') vale 1  s1.indexOf(‘u') vale –

t e l e v i s o r e

0 1 2 3 4 5 6 7 8 9

s

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 14

Classe String: indexOf

 Il metodo int indexOf(String s) della classe String verifica se la stringa su cui il metodo viene invocato contiene la stringa s.

 Se la stringa c’è restituisce la prima posizione da cui occorre oppure restituisce il valore –1 che indica una posizione non ammessa. Ad esempio  s1.indexOf(“tele”) vale 0  s1.indexOf(“levis”) vale 2  s1.indexOf(“lava”) vale –  s1.indexOf(“ore”) vale 7

t e l e v i s o r e

0 1 2 3 4 5 6 7 8 9

s

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 15

Classe String: lastIndexOf

 Il metodo int lastIndexOf(String s) della classe String verifica se la stringa su cui il metodo viene invocato contiene la stringa s.

 Se la stringa c’è restituisce l’ultima posizione da cui occorre oppure restituisce il valore –1.  Ad esempio  s.lastIndexOf(“no”) vale 3

 Esiste anche il metodo lastIndexOf(char c). Ad esempio  s.lastIndexOf(‘o’) vale 4

n o n n o

0 1 2 3 4

s

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 16

Classe String: esempio di uso di indexOf

Estrarre da una stringa una sottostringa delimitata da due caratteri.

public static String estraiStringa(String da, char i, char f) { int posin = da.indexOf(i); int posfin = da.lastIndexOf(f);

if(posin == -1) return null; else if(posfin == -1) // se non si trova la fine return da.substring(posin); // restituisce quello che c’è else return da.substring(posin, posfin+1); }

10110 01100 01011

Fondamenti di Informatica - D. Talia - UNICAL 19

Classe String: esercizi

 Possibili metodi da implementare usando i metodi della classe String:  Estrazione del carattere o dei due caratteri al centro di una stringa.

 Ricerca di un carattere in una stringa con e senza l’uso del metodo substring.

 Realizzare un metodo che ci dice se una stringa è palindroma.

 Realizzare un metodo che restituisce tutte le sottostringhe di lunghezza n da una data stringa.

 Realizzare un metodo che restituisce tutti gli anagrammi di una data stringa.