Wat zijn snaren?
Een letterlijke tekenreeks is een reeks tekens. Hé, zei je karakters, is het niet een primitief gegevenstype in Java. Ja, dus in technische termen is de basis Java String in feite een reeks tekens.
Dus mijn bovenstaande string van " ROSE " kan worden weergegeven als de volgende -
In deze tutorial leer je-
- Wat zijn snaren?
- Waarom snaren gebruiken?
- Voorbeelden van tekenreekssyntaxis
- String aaneenschakeling
- Belangrijke Java-stringmethoden
Waarom snaren gebruiken?
Een van de belangrijkste functies van de moderne informatica is het verwerken van menselijke taal.
Net zoals getallen belangrijk zijn voor wiskunde, zijn taalsymbolen belangrijk voor betekenis en besluitvorming. Hoewel het misschien niet zichtbaar is voor computergebruikers, verwerken computers taal op de achtergrond net zo nauwkeurig en nauwkeurig als een rekenmachine. Help-dialoogvensters bieden instructies. Menu's bieden keuzes. En gegevensweergaven tonen statussen, fouten en real-time wijzigingen in de taal.
Als Java-programmeur zal een van je belangrijkste tools voor het opslaan en verwerken van taal de String-klasse zijn.
Voorbeelden van tekenreekssyntaxis
Laten we nu naar een syntaxis gaan, we moeten dit tenslotte in Java-code schrijven, is het niet.
String is een reeks tekens, weergegeven als:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
In technische termen wordt de String als volgt gedefinieerd in het bovenstaande voorbeeld-
= new (argument);
Nu kunnen we onze strings niet altijd als arrays schrijven; daarom kunnen we de String in Java als volgt definiëren:
//Representation of StringString strSample_2 = "ROSE";
In technische termen wordt het bovenstaande weergegeven als:
= ;
De String Class Java breidt de Object-klasse uit.
String aaneenschakeling:
Aaneenschakeling is het samenvoegen van twee of meer tekenreeksen.
Bekijk de onderstaande foto-
We hebben twee strings str1 = "Rock" en str2 = "Star"
Als we deze twee strings bij elkaar optellen, zouden we een resultaat moeten hebben als str3 = "RockStar".
Controleer het onderstaande codefragment en het legt de twee methoden uit om tekenreeksen samen te voegen.
Ten eerste wordt de " concat " -methode van de String-klasse gebruikt en ten tweede wordt de rekenkundige "+" -operator gebruikt. Beide resulteren in dezelfde output
openbare klasse Sample_String {public static void main (String [] args) {// String-aaneenschakelingString str1 = "Rock";String str2 = "Ster";// Methode 1: Concat gebruikenString str3 = str1.concat (str2);System.out.println (str3);// Methode 2: gebruik de "+" operatorString str4 = str1 + str2;System.out.println (str4);
Belangrijke Java-stringmethoden:
Laten we de Java String-klasse een paar vragen stellen en kijken of deze ze kan beantwoorden;)
String "Lengte" -methode
Hoe bepaal je de lengte van een gegeven string? Ik heb een methode gegeven genaamd "lengte". Gebruik het tegen de String die je nodig hebt om de lengte te vinden.
openbare klasse Sample_String {public static void main (String [] args) {// Onze voorbeeldreeks voor deze tutorialString str_Sample = "RockStar";// Lengte van een stringSystem.out.println ("Lengte van string: + str_Sample.length ());}}
output:
Length of String: 8
String "indexOf" -methode
Als ik de lengte weet, hoe kan ik dan bepalen welk personage zich op welke positie bevindt? Kortom, hoe vind ik de index van een personage?
Je antwoordde zelf, maatje, er is een “indexOf” -methode die je zal helpen de locatie te bepalen van een specifiek karakter dat je specificeert.
openbare klasse Sample_String {public static void main (String [] args) {// Teken op positieString str_Sample = "RockStar";System.out.println ("Teken op positie 5: + str_Sample.charAt (5));// Index van een bepaald tekenSystem.out.println ("Index van karakter 'S': + str_Sample.indexOf ('S'));}}
Uitgang:
Character at position 5: tIndex of character 'S': 4
String "charAt" -methode
Vergelijkbaar met de bovenstaande vraag, gezien de index, hoe weet ik het personage op die locatie?
Simpel weer !! Gebruik de "charAt" -methode en geef de index op waarvan u het teken moet vinden.
openbare klasse Sample_String {public static void main (String [] args) {// Teken op positieString str_Sample = "RockStar";System.out.println ("Teken op positie 5: + str_Sample.charAt (5));}}
Uitgang:
Character at position 5: t
String "CompareTo" -methode
Wil ik controleren of de tekenreeks die met een bepaalde methode is gegenereerd, gelijk is aan iets waarmee ik wil verifiëren? Hoe vergelijk ik twee snaren?
Gebruik de methode “CompareTo” en specificeer de String die u wilt vergelijken.
Gebruik "CompareToIgnoreCase" als u niet wilt dat het resultaat hoofdlettergevoelig is.Het resultaat heeft de waarde 0 als de argumentstring gelijk is aan deze string; een waarde kleiner dan 0 als deze string lexicografisch kleiner is dan het stringargument; en een waarde groter dan 0 als deze string lexicografisch groter is dan het stringargument.
openbare klasse Sample_String {public static void main (String [] args) {// Vergelijk met een stringString str_Sample = "RockStar";System.out.println ("Vergelijk met 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Vergelijken met - Hoofdlettergebruik negerenSystem.out.println ("Vergelijk met 'ROCKSTAR' - Geval genegeerd: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}
Uitgang:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
String "Contain" -methode
Ik weet gedeeltelijk wat de string zou moeten bevatten, hoe bevestig ik of de string een reeks tekens bevat die ik specificeer?
Gebruik de methode "bevat" en specificeer de tekens die u moet controleren.
Retourneert true als en alleen als deze tekenreeks de opgegeven reeks char-waarden bevat.openbare klasse Sample_String {public static void main (String [] args) {// Controleer of String een reeks bevatString str_Sample = "RockStar";System.out.println ("Bevat reeks 'tar': + str_Sample.contains ("tar"));}}
Uitgang:
Contains sequence 'tar': true
String "endsWith" -methode
Hoe controleer ik of een tekenreeks eindigt met een bepaald achtervoegsel? Je hebt het weer beantwoord. Gebruik de "endsWith" -methode en specificeer het achtervoegsel in de argumenten.
Geeft true terug als de tekenreeks die wordt vertegenwoordigd door het argument een achtervoegsel is van de tekenreeks die door dit object wordt vertegenwoordigd.openbare klasse Sample_String {public static void main (String [] args) {// Controleer of het eindigt met een bepaalde reeksString str_Sample = "RockStar";System.out.println ("EndsWith character 'r': + str_Sample.endsWith ("r"));}}
Uitgang:
EndsWith character 'r': true
String "replaceAll" & "replaceFirst" -methode
Ik wil mijn String op verschillende plaatsen aanpassen en meerdere delen van de String vervangen?
Java String Replace, replaceAll en replaceFirst-methoden. U kunt het deel van de String dat u wilt vervangen en de vervangende String specificeren in de argumenten.
openbare klasse Sample_String {public static void main (String [] args) {// Vervang Rock door het woord DukeString str_Sample = "RockStar";System.out.println ("Vervang 'Rock' door 'Duke': + str_Sample.replace ("Rock", "Duke"));}}
Uitgang:
Replace 'Rock' with 'Duke': DukeStar
String Java "tolowercase" & Java "touppercase" -methode
Ik wil dat mijn hele tekenreeks wordt weergegeven in kleine letters of hoofdletters?
Gebruik gewoon de "toLowercase ()" of "ToUpperCase ()" methoden voor de strings die moeten worden geconverteerd.
openbare klasse Sample_String {public static void main (String [] args) {// Converteren naar LowerCaseString str_Sample = "RockStar";System.out.println ("Converteren naar LowerCase: + str_Sample.toLowerCase ());// Converteren naar UpperCaseSystem.out.println ("Converteren naar UpperCase: + str_Sample.toUpperCase ());}}
Uitgang:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Belangrijke aandachtspunten:
- String is een laatste klasse ; dwz eenmaal gecreëerd kan de waarde niet worden gewijzigd. String-objecten worden dus onveranderlijk genoemd.
- De Java Virtual Machine (JVM) creëert een geheugenlocatie speciaal voor Strings genaamd String Constant Pool . Daarom kan String worden geïnitialiseerd zonder 'nieuw' trefwoord.
- String-klasse valt onder de hiërarchie java.lang.String . Maar het is niet nodig om deze klasse te importeren. Het Java-platform biedt ze automatisch aan.
- Stringreferentie kan worden overschreven, maar daarmee wordt de inhoud niet verwijderd ; dwz als
String h1 = "hallo";
h1 = "hallo" + "wereld";
dan wordt "hallo" String niet verwijderd. Het verliest gewoon zijn handvat.
- Er kunnen meerdere verwijzingen worden gebruikt voor dezelfde String, maar deze zullen op dezelfde plaats voorkomen ; dwz als
String h1 = "hallo";
String h2 = "hallo";
String h3 = "hallo";
dan wordt er slechts één pool voor String "hallo" aangemaakt in het geheugen met 3 referenties-h1, h2, h3
- Als een getal tussen "" wordt aangehaald , wordt het een tekenreeks , geen getal meer. Dat betekent als
String S1 = "Het nummer is: + "123" + "456";
Systeem. uit .println (S1);
dan wordt afgedrukt: Het nummer is: 123456
Als de initialisatie als volgt is:
String S1 = "Het nummer is: + (123 + 456);
Systeem. uit .println (S1);
dan wordt afgedrukt: Het nummer is: 579 Dat is alles voor Strings!