Java String Manipulation: Λειτουργίες και μέθοδοι με ΠΑΡΑΔΕΙΓΜΑ

Πίνακας περιεχομένων:

Anonim

Τι είναι οι χορδές;

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

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

Σε αυτό το σεμινάριο, θα μάθετε-

  • Τι είναι οι χορδές;
  • Γιατί να χρησιμοποιήσετε το Strings;
  • Παραδείγματα σύνθεσης συμβολοσειράς
  • Συνδυασμός συμβολοσειρών
  • Σημαντικές μέθοδοι συμβολοσειράς Java

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

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

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

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

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

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

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

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

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

= new (argument);

Τώρα δεν μπορούμε πάντα να γράφουμε τις χορδές μας ως πίνακες. Ως εκ τούτου μπορούμε να ορίσουμε τη συμβολοσειρά στην Java ως εξής:

//Representation of StringString strSample_2 = "ROSE";

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

= ;

Το String Class Java επεκτείνει την κλάση Object.

Συνδυασμός συμβολοσειρών:

Η συνένωση ενώνει δύο ή περισσότερες χορδές.

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

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

Εάν προσθέσουμε αυτές τις δύο χορδές, θα πρέπει να έχουμε ένα αποτέλεσμα ως str3 = "RockStar".

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

Το πρώτο χρησιμοποιεί τη μέθοδο « concat » της κλάσης String και το δεύτερο χρησιμοποιεί τον αριθμητικό χειριστή «+». Και τα δύο έχουν την ίδια έξοδο

δημόσια τάξη Sample_String {Δημόσιο στατικό κενό (String [] args) {// Συνδυασμός συμβολοσειρώνString str1 = "Ροκ";String str2 = "Αστέρι";// Μέθοδος 1: Χρήση συμπυκνωμάτωνString str3 = str1.concat (str2);System.out.println (str3);// Μέθοδος 2: Χρήση του τελεστή "+"Συμβολοσειρά str4 = str1 + str2;System.out.println (str4);}}

Σημαντικές μέθοδοι συμβολοσειράς Java:

Ας ρωτήσουμε την τάξη Java String μερικές ερωτήσεις και να δούμε αν μπορεί να απαντήσει;)

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

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

δημόσια τάξη Sample_String {public static void main (String [] args) {// Το δείγμα συμβολοσειράς μας για αυτό το σεμινάριοString str_Sample = "RockStar";// Μήκος χορδήςSystem.out.println ("Μήκος συμβολοσειράς: + str_Sample.length ());}}

παραγωγή:

Length of String: 8

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

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

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

δημόσια τάξη Sample_String {public static void main (String [] args) {// Χαρακτήρας στη θέσηString str_Sample = "RockStar";System.out.println ("Χαρακτήρας στη θέση 5: + str_Sample.charAt (5));// Ευρετήριο δεδομένου χαρακτήραSystem.out.println ("Ευρετήριο του χαρακτήρα 'S': + str_Sample.indexOf ('S'));}}

Παραγωγή:

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

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

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

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

δημόσια τάξη Sample_String {public static void main (String [] args) {// Χαρακτήρας στη θέσηString str_Sample = "RockStar";System.out.println ("Χαρακτήρας στη θέση 5: + str_Sample.charAt (5));}}

Παραγωγή:

Character at position 5: t

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

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

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

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

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

δημόσια τάξη Sample_String {public static void main (String [] args) {// Σύγκριση με μια συμβολοσειράString str_Sample = "RockStar";System.out.println ("Σύγκριση με 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Σύγκριση με - Παράβλεψη θήκηςSystem.out.println ("Σύγκριση με 'ROCKSTAR' - Περίπτωση που αγνοήθηκε: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}

Παραγωγή:

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

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

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

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

Επιστρέφει true αν και μόνο εάν αυτή η συμβολοσειρά περιέχει την καθορισμένη ακολουθία τιμών char.
δημόσια τάξη Sample_String {public static void main (String [] args) {// Ελέγξτε αν το String περιέχει μια ακολουθίαString str_Sample = "RockStar";System.out.println ("Περιέχει ακολουθία 'tar': + str_Sample.contains ("tar"));}}

Παραγωγή:

Contains sequence 'tar': true

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

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

Επιστρέφει true αν η ακολουθία χαρακτήρων που αντιπροσωπεύεται από το όρισμα είναι επίθημα της ακολουθίας χαρακτήρων που αντιπροσωπεύεται από αυτό το αντικείμενο.
δημόσια τάξη Sample_String {public static void main (String [] args) {// Ελέγξτε αν τελειώνει με μια συγκεκριμένη ακολουθίαString str_Sample = "RockStar";System.out.println ("EndsWith χαρακτήρας 'r': + str_Sample.endsWith ("r"));}}

Παραγωγή:

EndsWith character 'r': true

Μέθοδος συμβολοσειράς "ReplAll" & "ReplFirst"

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

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

δημόσια τάξη Sample_String {public static void main (String [] args) {// Αντικαταστήστε το Rock με τη λέξη DukeString str_Sample = "RockStar";System.out.println ("Αντικαταστήστε το" Rock "με το" Duke ": + str_Sample.replace ("Rock", "Duke"));}}

Παραγωγή:

Replace 'Rock' with 'Duke': DukeStar

Μέθοδος String Java "tolowercase" & Java "touppercase"

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

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

δημόσια τάξη Sample_String {public static void main (String [] args) {// Μετατροπή σε LowerCaseString str_Sample = "RockStar";System.out.println ("Μετατροπή σε LowerCase: + str_Sample.toLowerCase ());// Μετατροπή σε UpperCaseSystem.out.println ("Μετατροπή σε UpperCase: + str_Sample.toUpperCase ());}}

Παραγωγή:

Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR

Σημαντικά σημεία προς σημείωση:

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

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

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

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

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

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

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

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

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

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

String S1 = "Ο αριθμός είναι: + "123" + "456";

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

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

Εάν η αρχικοποίηση είναι έτσι:

String S1 = "Ο αριθμός είναι: + (123 + 456);

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

τότε θα εκτυπωθεί: Ο αριθμός είναι: 579 Αυτό ισχύει μόνο για τις χορδές!