Was sind Strings?
Eine Zeichenfolge im wörtlichen Sinne besteht aus einer Reihe von Zeichen. Hey, hast du Zeichen gesagt, ist es nicht ein primitiver Datentyp in Java? Ja, technisch gesehen besteht der grundlegende Java-String im Grunde aus einer Reihe von Zeichen.
Meine obige Zeichenfolge von " ROSE " kann also wie folgt dargestellt werden:
In diesem Tutorial lernen Sie:
- Was sind Strings?
- Warum Strings verwenden?
- Beispiele für die String-Syntax
- String-Verkettung
- Wichtige Java-String-Methoden
Warum Strings verwenden?
Eine der Hauptfunktionen der modernen Informatik ist die Verarbeitung der menschlichen Sprache.
Ähnlich wie Zahlen für die Mathematik wichtig sind, sind Sprachsymbole wichtig für die Bedeutung und Entscheidungsfindung. Obwohl es für Computerbenutzer möglicherweise nicht sichtbar ist, verarbeiten Computer die Sprache im Hintergrund so präzise und genau wie ein Taschenrechner. Hilfedialoge enthalten Anweisungen. Menüs bieten Auswahlmöglichkeiten. Datenanzeigen zeigen Status, Fehler und Änderungen der Sprache in Echtzeit an.
Als Java-Programmierer wird die String-Klasse eines Ihrer Hauptwerkzeuge zum Speichern und Verarbeiten von Sprache sein.
Beispiele für die String-Syntax
Kommen wir nun zu einer Syntax, schließlich müssen wir dies in Java-Code schreiben, nicht wahr?
String ist ein Array von Zeichen, dargestellt als:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
In technischer Hinsicht ist der String im obigen Beispiel wie folgt definiert:
= new (argument);
Jetzt können wir unsere Strings nicht immer als Arrays schreiben. Daher können wir den String in Java wie folgt definieren:
//Representation of StringString strSample_2 = "ROSE";
In technischer Hinsicht wird das Obige dargestellt als:
= ;
Die String-Klasse Java erweitert die Object-Klasse.
String-Verkettung:
Bei der Verkettung werden zwei oder mehr Zeichenfolgen zusammengefügt.
Schauen Sie sich das folgende Bild an.
Wir haben zwei Strings str1 = "Rock" und str2 = "Star"
Wenn wir diese beiden Zeichenfolgen addieren, sollten wir ein Ergebnis als str3 = "RockStar" haben.
Überprüfen Sie das folgende Codefragment, und es werden die beiden Methoden zum Durchführen der Zeichenfolgenverkettung erläutert.
Erstens wird die Methode " concat " der String-Klasse verwendet, und zweitens wird der arithmetische Operator "+" verwendet. Beides führt zur gleichen Ausgabe
öffentliche Klasse Sample_String {public static void main (String [] args) {//String-VerkettungString str1 = "Rock";String str2 = "Stern";// Methode 1: Verwenden von concatString str3 = str1.concat (str2);System.out.println (str3);// Methode 2: Verwenden des Operators "+"String str4 = str1 + str2;System.out.println (str4);}}}}
Wichtige Java-String-Methoden:
Lassen Sie uns der Java String-Klasse ein paar Fragen stellen und sehen, ob sie diese beantworten kann;)
String "Length" -Methode
Wie bestimmen Sie die Länge eines bestimmten Strings? Ich habe eine Methode namens "Länge" bereitgestellt. Verwenden Sie es gegen den String, den Sie benötigen, um die Länge zu ermitteln.
öffentliche Klasse Sample_String {public static void main (String [] args) {// Unsere Beispielzeichenfolge für dieses TutorialString str_Sample = "RockStar";// Länge eines StringsSystem.out.println ("Länge des Strings: + str_Sample.length ());}}
Ausgabe:
Length of String: 8
String "indexOf" -Methode
Wenn ich die Länge kenne, wie würde ich herausfinden, welcher Charakter sich in welcher Position befindet? Kurz gesagt, wie finde ich den Index eines Zeichens?
Sie haben sich selbst geantwortet, Kumpel, es gibt eine "indexOf" -Methode, mit der Sie die Position eines bestimmten Zeichens bestimmen können, das Sie angeben.
öffentliche Klasse Sample_String {public static void main (String [] args) {// Zeichen an PositionString str_Sample = "RockStar";System.out.println ("Zeichen an Position 5: + str_Sample.charAt (5));// Index eines bestimmten ZeichensSystem.out.println ("Index des Zeichens 'S': + str_Sample.indexOf ('S'));}}
Ausgabe:
Character at position 5: tIndex of character 'S': 4
String "charAt" -Methode
Ähnlich wie bei der obigen Frage, angesichts des Index, woher kenne ich den Charakter an dieser Stelle?
Wieder einfach !! Verwenden Sie die Methode "charAt" und geben Sie den Index an, dessen Zeichen Sie suchen müssen.
öffentliche Klasse Sample_String {public static void main (String [] args) {// Zeichen an PositionString str_Sample = "RockStar";System.out.println ("Zeichen an Position 5: + str_Sample.charAt (5));}}
Ausgabe:
Character at position 5: t
String "CompareTo" -Methode
Möchte ich überprüfen, ob der von einer Methode generierte String einem Wert entspricht, mit dem ich überprüfen möchte? Wie vergleiche ich zwei Strings?
Verwenden Sie die Methode "compareTo" und geben Sie den String an, den Sie vergleichen möchten.
Verwenden Sie "compareToIgnoreCase", wenn Sie nicht möchten, dass das Ergebnis zwischen Groß- und Kleinschreibung unterscheidet.Das Ergebnis hat den Wert 0, wenn die Argumentzeichenfolge dieser Zeichenfolge entspricht. ein Wert kleiner als 0, wenn diese Zeichenfolge lexikografisch kleiner als das Zeichenfolgenargument ist; und ein Wert größer als 0, wenn diese Zeichenfolge lexikografisch größer als das Zeichenfolgenargument ist.
öffentliche Klasse Sample_String {public static void main (String [] args) {// Vergleiche mit einem StringString str_Sample = "RockStar";System.out.println ("Vergleiche mit 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Vergleiche mit - Groß- / Kleinschreibung ignorierenSystem.out.println ("Vergleiche mit 'ROCKSTAR' - Groß- / Kleinschreibung ignoriert: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}
Ausgabe:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
String "Contain" -Methode
Ich weiß teilweise, was die Zeichenfolge enthalten sollte. Wie kann ich bestätigen, ob die Zeichenfolge eine von mir angegebene Zeichenfolge enthält?
Verwenden Sie die Methode "enthält" und geben Sie die Zeichen an, die Sie überprüfen müssen.
Gibt nur dann true zurück, wenn diese Zeichenfolge die angegebene Folge von Zeichenwerten enthält.öffentliche Klasse Sample_String {public static void main (String [] args) {// Überprüfe, ob String eine Sequenz enthältString str_Sample = "RockStar";System.out.println ("Enthält die Sequenz 'tar': + str_Sample.contains ("tar"));}}
Ausgabe:
Contains sequence 'tar': true
String "EndsWith" -Methode
Wie bestätige ich, ob ein String mit einem bestimmten Suffix endet? Wieder hast du es beantwortet. Verwenden Sie die Methode "endsWith" und geben Sie das Suffix in den Argumenten an.
Gibt true zurück, wenn die durch das Argument dargestellte Zeichenfolge ein Suffix der durch dieses Objekt dargestellten Zeichenfolge ist.öffentliche Klasse Sample_String {public static void main (String [] args) {// Überprüfen Sie, ob mit einer bestimmten Sequenz endetString str_Sample = "RockStar";System.out.println ("EndsWith Zeichen 'r': + str_Sample.endsWith ("r"));}}
Ausgabe:
EndsWith character 'r': true
String "replaceAll" & "replaceFirst" Methode
Ich möchte meinen String an mehreren Stellen ändern und mehrere Teile des Strings ersetzen.
Java String Replace-, replaceAll- und replaceFirst-Methoden. Sie können den Teil der Zeichenfolge, den Sie ersetzen möchten, und die Ersetzungszeichenfolge in den Argumenten angeben.
öffentliche Klasse Sample_String {public static void main (String [] args) {// Rock durch das Wort Duke ersetzenString str_Sample = "RockStar";System.out.println ("Ersetzen Sie 'Rock' durch 'Duke': + str_Sample.replace ("Rock", "Duke"));}}
Ausgabe:
Replace 'Rock' with 'Duke': DukeStar
String Java "tolowercase" & Java "touppercase" Methode
Ich möchte, dass mein gesamter String in Kleinbuchstaben oder Großbuchstaben angezeigt wird.
Verwenden Sie einfach die Methoden "toLowercase ()" oder "ToUpperCase ()" für die zu konvertierenden Strings.
öffentliche Klasse Sample_String {public static void main (String [] args) {// In LowerCase konvertierenString str_Sample = "RockStar";System.out.println ("In LowerCase konvertieren: + str_Sample.toLowerCase ());// In UpperCase konvertierenSystem.out.println ("In UpperCase konvertieren: + str_Sample.toUpperCase ());}}
Ausgabe:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Wichtige Punkte zu beachten:
- String ist eine Abschlussklasse ; dh einmal erstellt, kann der Wert nicht mehr geändert werden. Daher werden String-Objekte als unveränderlich bezeichnet.
- Die Java Virtual Machine (JVM) erstellt speziell für Strings einen Speicherort namens String Constant Pool . Aus diesem Grund kann String ohne das Schlüsselwort 'new' initialisiert werden.
- Die String-Klasse fällt unter die Hierarchie java.lang.String . Diese Klasse muss jedoch nicht importiert werden. Die Java-Plattform stellt sie automatisch zur Verfügung.
- Die Zeichenfolgenreferenz kann überschrieben werden, der Inhalt wird jedoch nicht gelöscht . dh wenn
String h1 = "Hallo";
h1 = "Hallo" + "Welt";
dann wird "Hallo" String nicht gelöscht. Es verliert nur seinen Griff.
- Für denselben String können mehrere Referenzen verwendet werden, die jedoch an derselben Stelle auftreten . dh wenn
String h1 = "Hallo";
String h2 = "Hallo";
String h3 = "Hallo";
dann wird nur ein Pool für die Zeichenfolge "Hallo" im Speicher mit 3 Referenzen erstellt - h1, h2, h3
- Wenn eine Zahl in "" zitiert wird , wird sie zu einer Zeichenfolge , nicht mehr zu einer Zahl. Das heißt wenn
String S1 = "Die Nummer lautet: + "123" + "456";
System. out .println (S1);
dann wird gedruckt: Die Nummer ist: 123456
Wenn die Initialisierung wie folgt ist:
String S1 = "Die Nummer ist: + (123 + 456);
System. out .println (S1);
dann wird gedruckt: Die Nummer ist: 579 Das ist alles zu Strings!