Manipolazione di stringhe Java: funzioni e metodi con ESEMPIO

Sommario:

Anonim

Cosa sono le stringhe?

Una stringa in termini letterali è una serie di caratteri. Ehi, hai detto caratteri, non è un tipo di dati primitivo in Java. Sì, quindi in termini tecnici, la Java String di base è fondamentalmente un array di caratteri.

Quindi la mia stringa di " ROSA " sopra può essere rappresentata come la seguente:

In questo tutorial imparerai-

  • Cosa sono le stringhe?
  • Perché usare le stringhe?
  • Esempi di sintassi delle stringhe
  • Concatenazione di stringhe
  • Metodi di stringa Java importanti

Perché usare le stringhe?

Una delle funzioni principali dell'informatica moderna è l'elaborazione del linguaggio umano.

Analogamente a quanto i numeri siano importanti per la matematica, i simboli linguistici sono importanti per il significato e il processo decisionale. Sebbene possa non essere visibile agli utenti di computer, i computer elaborano la lingua in background con la stessa precisione e accuratezza di una calcolatrice. Le finestre di dialogo della Guida forniscono istruzioni. I menu forniscono scelte. Inoltre, i display dei dati mostrano stati, errori e modifiche in tempo reale alla lingua.

Come programmatore Java, uno dei tuoi strumenti principali per la memorizzazione e l'elaborazione del linguaggio sarà la classe String.

Esempi di sintassi delle stringhe

Ora, passiamo a un po 'di sintassi, dopotutto, dobbiamo scrivere questo in codice Java, non è vero.

La stringa è un array di caratteri, rappresentato come:

//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);

In termini tecnici, la stringa è definita come segue nell'esempio sopra:

= new (argument);

Ora non possiamo sempre scrivere le nostre stringhe come array; quindi possiamo definire la stringa in Java come segue:

//Representation of StringString strSample_2 = "ROSE";

In termini tecnici, quanto sopra è rappresentato come:

= ;

La classe String Java estende la classe Object.

Concatenazione di stringhe:

La concatenazione è l'unione di due o più stringhe.

Dai un'occhiata all'immagine qui sotto-

Abbiamo due stringhe str1 = "Rock" e str2 = "Star"

Se sommiamo queste due stringhe, dovremmo avere un risultato come str3 = "RockStar".

Controlla il frammento di codice seguente e spiega i due metodi per eseguire la concatenazione di stringhe.

Il primo sta usando il metodo " concat " della classe String e il secondo sta usando l'operatore aritmetico "+". Entrambi producono lo stesso output

public class Sample_String {public static void main (String [] args) {// Concatenazione di stringheString str1 = "Rock";String str2 = "Stella";// Metodo 1: utilizzo di concatStringa str3 = str1.concat (str2);System.out.println (str3);// Metodo 2: utilizzo dell'operatore "+"Stringa str4 = str1 + str2;System.out.println (str4);}}

Metodi di stringa Java importanti:

Facciamo alcune domande alla classe Java String e vediamo se può rispondere;)

Metodo "Lunghezza" stringa

Come determinerai la lunghezza di una data stringa? Ho fornito un metodo chiamato "length". Usalo contro la stringa di cui hai bisogno per trovare la lunghezza.

public class Sample_String {public static void main (String [] args) {// La nostra stringa di esempio per questo tutorialString str_Sample = "RockStar";// Lunghezza di una stringaSystem.out.println ("Lunghezza della stringa: + str_Sample.length ());}}

produzione:

Length of String: 8

Metodo String "indexOf"

Se conosco la lunghezza, come faccio a trovare quale personaggio si trova in quale posizione? Insomma, come troverò l'indice di un personaggio?

Hai risposto tu stesso, amico, esiste un metodo "indexOf" che ti aiuterà a determinare la posizione di un carattere specifico che specifichi.

public class Sample_String {public static void main (String [] args) {// Character at positionString str_Sample = "RockStar";System.out.println ("Carattere alla posizione 5: + str_Sample.charAt (5));// Indice di un dato carattereSystem.out.println ("Indice del carattere 'S': + str_Sample.indexOf ('S'));}}

Produzione:

Character at position 5: tIndex of character 'S': 4

Metodo String "charAt"

Simile alla domanda precedente, dato l'indice, come faccio a conoscere il personaggio in quella posizione?

Di nuovo semplice !! Utilizza il metodo "charAt" e fornisci l'indice di cui devi trovare il carattere.

public class Sample_String {public static void main (String [] args) {// Character at positionString str_Sample = "RockStar";System.out.println ("Character at position 5: + str_Sample.charAt (5));}}

Produzione:

Character at position 5: t

Metodo String "CompareTo"

Voglio controllare se la stringa generata da un metodo è uguale a qualcosa con cui voglio verificare? Come si confrontano due stringhe?

Utilizza il metodo "compareTo" e specifica la stringa che desideri confrontare.

Usa "compareToIgnoreCase" nel caso in cui non desideri che il risultato sia sensibile al maiuscolo / minuscolo.

Il risultato avrà il valore 0 se la stringa dell'argomento è uguale a questa stringa; un valore minore di 0 se questa stringa è lessicograficamente minore dell'argomento stringa; e un valore maggiore di 0 se questa stringa è lessicograficamente maggiore dell'argomento stringa.

public class Sample_String {public static void main (String [] args) {// Confronta con una stringaString str_Sample = "RockStar";System.out.println ("Confronta con 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Confronta con - Ignora maiuscole e minuscoleSystem.out.println ("Compare To 'ROCKSTAR' - Case Ignored: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}

Produzione:

Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0

Metodo String "Contain"

So parzialmente cosa avrebbe dovuto contenere la stringa, come confermo se la stringa contiene una sequenza di caratteri da me specificata?

Usa il metodo "contiene" e specifica i caratteri che devi controllare.

Restituisce vero se e solo se questa stringa contiene la sequenza di valori char specificata.
public class Sample_String {public static void main (String [] args) {// Controlla se String contiene una sequenzaString str_Sample = "RockStar";System.out.println ("Contiene la sequenza 'tar': + str_Sample.contains ("tar"));}}

Produzione:

Contains sequence 'tar': true

Metodo String "endsWith "

Come posso confermare se una stringa termina con un suffisso particolare? Di nuovo hai risposto. Usa il metodo "endsWith "e specifica il suffisso negli argomenti.

Restituisce vero se la sequenza di caratteri rappresentata dall'argomento è un suffisso della sequenza di caratteri rappresentata da questo oggetto.
public class Sample_String {public static void main (String [] args) {// Controlla se finisce con una sequenza particolareString str_Sample = "RockStar";System.out.println ("EndsWith character 'r': + str_Sample.endsWith ("r"));}}

Produzione:

EndsWith character 'r': true

Stringa "replaceAll" e metodo "replaceFirst"

Voglio modificare la mia stringa in più punti e sostituire diverse parti della stringa?

Metodi Java String Replace, replaceAll e replaceFirst. È possibile specificare la parte della stringa che si desidera sostituire e la stringa di sostituzione negli argomenti.

public class Sample_String {public static void main (String [] args) {// Sostituisci Rock con la parola DukeString str_Sample = "RockStar";System.out.println ("Sostituisci 'Rock' con 'Duke': + str_Sample.replace ("Rock", "Duke"));}}

Produzione:

Replace 'Rock' with 'Duke': DukeStar

String Java "tolowercase" & Java "touppercase" Method

Voglio che la mia intera stringa venga visualizzata in minuscolo o maiuscolo?

Basta usare i metodi "toLowercase ()" o "ToUpperCase ()" contro le stringhe che devono essere convertite.

public class Sample_String {public static void main (String [] args) {// Converti in lettere minuscoleString str_Sample = "RockStar";System.out.println ("Converti in lettere minuscole: + str_Sample.toLowerCase ());// Converti in maiuscoloSystem.out.println ("Converti in maiuscolo: + str_Sample.toUpperCase ());}}

Produzione:

Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR

Punti importanti da notare:

  • String è una classe finale ; cioè una volta creato il valore non può essere modificato. Pertanto gli oggetti String sono chiamati immutabili.
  • La Java Virtual Machine (JVM) crea una posizione di memoria appositamente per le stringhe denominata String Constant Pool . Ecco perché String può essere inizializzato senza la parola chiave "new".
  • La classe String rientra nella gerarchia java.lang.String . Ma non è necessario importare questa classe. La piattaforma Java li fornisce automaticamente.
  • Il riferimento alla stringa può essere sovrascritto ma ciò non elimina il contenuto ; cioè, se

String h1 = "ciao";

h1 = "ciao" + "mondo";

quindi "ciao" La stringa non viene eliminata. Perde solo la sua manovrabilità.

  • È possibile utilizzare più riferimenti per la stessa stringa, ma si verificherà nella stessa posizione ; cioè, se

String h1 = "ciao";

String h2 = "ciao";

String h3 = "ciao";

quindi viene creato un solo pool per String "hello" nella memoria con 3 riferimenti-h1, h2, h3

  • Se un numero è citato tra "" , diventa una stringa , non più un numero. Ciò significa che se

String S1 = "Il numero è: + "123" + "456";

Sistema. out .println (S1);

quindi stamperà: Il numero è: 123456

Se l'inizializzazione è così:

String S1 = "Il numero è: + (123 + 456);

Sistema. out .println (S1);

quindi stamperà: Il numero è: 579 È tutto per le stringhe!