Java Χειρισμός συμβολοσειράς με ΠΑΡΑΔΕΙΓΜΑ

Σε τι περιλαμβάνονται οι χορδές Java?

Μια συμβολοσειρά με κυριολεκτικούς όρους είναι μια σειρά χαρακτήρων. Γεια, είπατε χαρακτήρες, δεν είναι ένας πρωτόγονος τύπος δεδομένων Java. Ναι, λοιπόν, από τεχνική άποψη, το βασικό Java Η συμβολοσειρά είναι βασικά μια σειρά χαρακτήρων.

Λοιπόν η παραπάνω συμβολοσειρά μου "ROSE" μπορεί να αναπαρασταθεί ως εξής -

Java Σπάγγος

Γιατί να χρησιμοποιήσετε το Strings;

Μία από τις πρωταρχικές λειτουργίες της σύγχρονης επιστήμης των υπολογιστών, είναι η επεξεργασία της ανθρώπινης γλώσσας.

Ομοίως με το πόσο σημαντικοί είναι οι αριθμοί για τα μαθηματικά, τα σύμβολα της γλώσσας είναι σημαντικά για το νόημα και τη λήψη αποφάσεων. Αν και μπορεί να μην είναι ορατό στους χρήστες υπολογιστών, οι υπολογιστές επεξεργάζονται τη γλώσσα στο παρασκήνιο με την ίδια ακρίβεια και ακρίβεια με μια αριθμομηχανή. Τα παράθυρα διαλόγου βοήθειας παρέχουν οδηγίες. Τα μενού παρέχουν επιλογές. Και οι οθόνες δεδομένων εμφανίζουν καταστάσεις, σφάλματα και αλλαγές στη γλώσσα σε πραγματικό χρόνο.

Ως Java προγραμματιστή, ένα από τα κύρια εργαλεία σας για την αποθήκευση και την επεξεργασία της γλώσσας θα είναι η κλάση String.

Παραδείγματα σύνταξης συμβολοσειρών

Τώρα, ας φτάσουμε σε κάποια σύνταξη, τελικά, πρέπει να το γράψουμε Java ο κωδικός δεν είναι.

Η συμβολοσειρά είναι ένας πίνακας χαρακτήρων, που αντιπροσωπεύεται ως:

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

Σε τεχνικούς όρους, η συμβολοσειρά ορίζεται ως εξής στο παραπάνω παράδειγμα-

= new (argument);

Τώρα δεν μπορούμε πάντα να γράψουμε τις συμβολοσειρές μας ως πίνακες. επομένως μπορούμε να ορίσουμε το String in Java ως ακολούθως:

//Representation of String
String strSample_2 = "ROSE";

Σε τεχνικούς όρους, τα παραπάνω αντιπροσωπεύονται ως:

= ;

The Κατηγορία χορδών Java Επεκτείνεται ο Κατηγορία αντικειμένου.

Συνένωση συμβολοσειρών:

Συνένωση είναι η ένωση δύο ή περισσότερων χορδών.

Ρίξτε μια ματιά στην παρακάτω εικόνα -

Παραδείγματα σύνταξης συμβολοσειρών

Έχουμε δύο χορδές str1 = "Rock" και str2 = "Star"

Αν αθροίσουμε αυτές τις δύο συμβολοσειρές, θα έχουμε το αποτέλεσμα ως str3= «RockStar».

Ελέγξτε το παρακάτω απόσπασμα κώδικα και εξηγεί τις δύο μεθόδους για να πραγματοποιήσετε συνένωση συμβολοσειρών.

Πρώτα χρησιμοποιεί το "συγκατΗ μέθοδος της κλάσης String και η δεύτερη χρησιμοποιεί τον αριθμητικό τελεστή "+". Και τα δύο έχουν ως αποτέλεσμα την ίδια έξοδο

public class Sample_String{
  public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}

Αναμενόμενη παραγωγή:

RockStar
RockStar

σημαντικό Java μέθοδοι συμβολοσειρών:

Java μεθόδους συμβολοσειράς

Ας ρωτήσουμε το Java Τάξη συμβολοσειράς μερικές ερωτήσεις και δείτε αν μπορεί να τις απαντήσει:

Μέθοδος "Μήκος" χορδής

Πώς θα προσδιορίσετε το μήκος μιας δεδομένης συμβολοσειράς; Έχω παράσχει μια μέθοδο που ονομάζεται "μήκος". Χρησιμοποιήστε το ενάντια στο String που χρειάζεστε για να βρείτε το μήκος.

public class Sample_String{
  public static void main(String[] args){  //Our sample string for this tutorial
  String str_Sample = "RockStar";
  //Length of a String
  System.out.println("Length of String: " + str_Sample.length());}}

Αναμενόμενη παραγωγή:

Length of String: 8

Μέθοδος συμβολοσειράς "indexOf".

Αν ξέρω το μήκος, πώς θα βρω ποιος χαρακτήρας βρίσκεται σε ποια θέση; Με λίγα λόγια, πώς θα βρω το ευρετήριο ενός χαρακτήρα;

Απάντησες μόνος σου, φίλε, υπάρχει μια μέθοδος "indexOf" που θα σε βοηθήσει να προσδιορίσεις τη θέση ενός συγκεκριμένου χαρακτήρα που προσδιορίζεις.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}

Αναμενόμενη παραγωγή:

Character at position 5: t
Index of character 'S': 4

Μέθοδος συμβολοσειράς "charAt".

Παρόμοια με την παραπάνω ερώτηση, δεδομένου του ευρετηρίου, πώς μπορώ να γνωρίζω τον χαρακτήρα σε αυτήν την τοποθεσία;

Και πάλι απλό!! Χρησιμοποιήστε τη μέθοδο "charAt" και δώστε το ευρετήριο του οποίου τον χαρακτήρα πρέπει να βρείτε.

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

Αναμενόμενη παραγωγή:

Character at position 5: t

Μέθοδος συμβολοσειράς "Σύγκριση με".

Θέλω να ελέγξω αν η συμβολοσειρά που δημιουργήθηκε με κάποια μέθοδο είναι ίση με κάτι με το οποίο θέλω να επαληθεύσω; Πώς μπορώ να συγκρίνω δύο Συμβολοσειρές;

Χρησιμοποιήστε τη μέθοδο "compareTo" και καθορίστε τη συμβολοσειρά που θέλετε να συγκρίνετε.

Χρησιμοποιήστε το "compareToIgnoreCase" σε περίπτωση που δεν θέλετε το αποτέλεσμα να κάνει διάκριση πεζών-κεφαλαίων.

Το αποτέλεσμα θα έχει την τιμή 0 εάν η συμβολοσειρά ορίσματος είναι ίση με αυτήν τη συμβολοσειρά. μια τιμή μικρότερη από 0 εάν αυτή η συμβολοσειρά είναι λεξικογραφικά μικρότερη από το όρισμα συμβολοσειράς. και τιμή μεγαλύτερη από 0 εάν αυτή η συμβολοσειρά είναι λεξικογραφικά μεγαλύτερη από το όρισμα συμβολοσειράς.

public class Sample_String{
  public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
  System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
  //Compare to - Ignore case
  System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Αναμενόμενη παραγωγή:

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

Μέθοδος συμβολοσειράς "Contain".

Γνωρίζω εν μέρει τι θα έπρεπε να περιέχει η συμβολοσειρά, πώς μπορώ να επιβεβαιώσω εάν η συμβολοσειρά περιέχει μια ακολουθία χαρακτήρων που καθορίζω;

Χρησιμοποιήστε τη μέθοδο "Περιέχει” και καθορίστε τους χαρακτήρες που πρέπει να ελέγξετε.

Επιστροφές ναι εάν και μόνο εάν αυτή η συμβολοσειρά περιέχει την καθορισμένη ακολουθία τιμών χαρακτήρων.

public class Sample_String{
  public static void main(String[] args){  //Check if String contains a sequence
String str_Sample = "RockStar";
  System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}

Αναμενόμενη παραγωγή:

Contains sequence 'tar': true

Μέθοδος συμβολοσειράς "endsWith".

Πώς μπορώ να επιβεβαιώσω εάν μια συμβολοσειρά τελειώνει με ένα συγκεκριμένο επίθημα; Και πάλι το απάντησες. Χρησιμοποιήστε τη μέθοδο "endsWith" και καθορίστε το επίθημα στα ορίσματα.

Επιστροφές ναι εάν η ακολουθία χαρακτήρων που αντιπροσωπεύεται από το όρισμα είναι επίθημα της ακολουθίας χαρακτήρων που αντιπροσωπεύεται από αυτό το αντικείμενο.

public class Sample_String{
  public static void main(String[] args){  //Check if ends with a particular sequence
String str_Sample = "RockStar";
  System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}

Αναμενόμενη παραγωγή:

EndsWith character 'r': true

Συμβολοσειρά "replaceAll" & "replaceFirst" Μέθοδος

Θέλω να τροποποιήσω το String μου σε πολλά σημεία και να αντικαταστήσω πολλά μέρη του String;

Java Συμβολοσειρά Αντικατάσταση, αντικατάστασηΌλων και μέθοδοι αντικατάστασηςΠρώτης. Μπορείτε να καθορίσετε το τμήμα της συμβολοσειράς που θέλετε να αντικαταστήσετε και τη συμβολοσειρά αντικατάστασης στα ορίσματα.

public class Sample_String{
  public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}

Αναμενόμενη παραγωγή:

Replace 'Rock' with 'Duke': DukeStar

Σπάγγος Java "ελαφριά" & Java Μέθοδος "touppercase".

Θέλω ολόκληρη η συμβολοσειρά μου να εμφανίζεται με πεζά ή κεφαλαία;

Απλώς χρησιμοποιήστε τις μεθόδους "toLowercase()" ή "ToUpperCase()" σε σχέση με τις συμβολοσειρές που πρέπει να μετατραπούν.

public class Sample_String{
  public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}

Αναμενόμενη παραγωγή:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

Σημαντικά σημεία που πρέπει να σημειωθούν:

  • Το String είναι μια Τελική τάξη; δηλ. μόλις δημιουργηθεί η τιμή δεν μπορεί να αλλάξει. Έτσι τα αντικείμενα συμβολοσειράς ονομάζονται αμετάβλητα.
  • The Java Το Virtual Machine (JVM) δημιουργεί μια θέση μνήμης ειδικά για τις καλούμενες συμβολοσειρές String Constant Pool. Γι' αυτό το String μπορεί να αρχικοποιηθεί χωρίς «νέα» λέξη-κλειδί.
  • Η κατηγορία χορδών πέφτει κάτω java.lang.Ιεραρχία συμβολοσειρών. Αλλά δεν υπάρχει ανάγκη εισαγωγής αυτής της κλάσης. Java Η πλατφόρμα τα παρέχει αυτόματα.
  • Σπάγγος η αναφορά μπορεί να παρακαμφθεί, αλλά αυτό δεν διαγράφει το περιεχόμενο; δηλαδή αν

Συμβολοσειρά h1 = "γεια";

h1 = "γεια"+"κόσμος";

τότε η συμβολοσειρά "hello" δεν διαγράφεται. Απλώς χάνει τη λαβή του.

  • Πολλαπλές αναφορές μπορεί να χρησιμοποιηθεί για την ίδια συμβολοσειρά αλλά θα γίνει συμβαίνουν στον ίδιο χώρο; δηλαδή αν

Συμβολοσειρά h1 = "γεια";

Συμβολοσειρά h2 = "γεια";

Συμβολοσειρά h3 = "γεια";

τότε μόνο ένα pool για το String "hello" δημιουργείται στη μνήμη με 3 αναφορές-h1,h2,h3

  • Αν ένα ο αριθμός αναφέρεται στο "" τότε αυτό γίνεται χορδή, όχι πια αριθμός. Αυτό σημαίνει αν

Συμβολοσειρά S1 =”Ο αριθμός είναι: “+ “123”+”456″;

Σύστημα.έξω.println(S1);

τότε θα εκτυπώσει: Ο αριθμός είναι: 123456

Εάν η προετοιμασία είναι ως εξής:

Συμβολοσειρά S1 = "Ο αριθμός είναι: "+(123+456);

System.out.println(S1);

τότε θα εκτυπώσει: Ο αριθμός είναι:579

Αυτό είναι όλο για Strings!