JavaRush /Java-Blog /Random-DE /IndexOf-Methode der String-Klasse: Warum sie benötigt wir...

IndexOf-Methode der String-Klasse: Warum sie benötigt wird und wie sie funktioniert

Veröffentlicht in der Gruppe Random-DE
Hallo! Programmierer verwenden Methoden oft automatisch, ohne darüber nachzudenken, wie sie funktionieren. Dies sind die grundlegenden Techniken, die Sie kennen müssen.

Was ist Methodenüberladung?

Bevor wir uns die im Titel erwähnte Methode ansehen, erinnern wir uns (und jemand wird es wissen), was Methodenüberladung ist. Durch das Überladen von Java-Methoden können zwei oder mehr Methoden mit demselben Namen innerhalb derselben Klasse definiert werden. Dies ist nur möglich, wenn sie unterschiedliche Eingabeparameter haben. In diesem Fall werden die Methoden als überladen bezeichnet, und der Prozess selbst wird als Methodenüberladung bezeichnet. Die IndexOf-Methode der String-Klasse: Warum sie benötigt wird und wie sie funktioniert - 1Das Überladen von Methoden ist eines der Grundprinzipien des Polymorphismus in Java.

Wozu dient eine indexOfKlassenmethode ?String

Stellen Sie sich vor, Sie hätten eine lange Schnur. Zum Beispiel ein Brief, und Sie müssen den Ort finden, an dem die erste Ansprache des Adressaten mit einem Namen erfolgt, den Sie bereits kennen. Wie machen Sie das? Verwenden Sie die indexOf javaKlassenmethode String. Diese Methode ist ein typisches Beispiel für Methodenüberladung, die wir oben besprochen haben.

MethodenoptionenindexOf

Die Methode java string indexOfhat vier verschiedene Varianten:

Nr. 1.indexOf(int ch)

Die Methode int indexOf(int ch)gibt den Index in der angegebenen Zeichenfolge des ersten Vorkommens des angegebenen Zeichens zurück. Mit anderen Worten: Wir erhalten die Nummer des ersten Vorkommens eines bestimmten Zeichens, gezählt von links nach rechts. Beispiel:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e');
   System.out.println(value);
}
Konsolenausgabe:

2
Wenn das gesuchte Zeichen nicht in dieser Zeile steht, erhalten wir -1.
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('j');
   System.out.println(value);
}
Konsolenausgabe:

-1
PS Um nichts durcheinander zu bringen, darf man nicht vergessen, dass die Zeichen in einer Zeile nicht von „1,2,3...“ gezählt werden, sondern von „0,1,2...“

Nr. 2.indexOf(int ch, int fromIndex)

Die Methode int indexOf(int ch, int fromIndex)gibt den Index in dieser Zeichenfolge des ersten Vorkommens des angegebenen Zeichens zurück und startet eine Suche am angegebenen Index. Diese Methode ist eine modernere Version der vorherigen. Der Unterschied besteht darin, dass wir die Nummer des Elements angeben, ab dem die Suche tatsächlich beginnt. Beispiel:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e',5);
   System.out.println(value);
}
Konsolenausgabe:

9
Wenn der Index, von dem aus die Suche durchgeführt wird, die Länge der Zeichenfolge überschreitet, lautet die Antwort -1. IndexOf-Methode der String-Klasse: Warum wird sie benötigt und wie funktioniert sie - 2Wie Sie vielleicht bemerkt haben, wird in der Signatur dieser beiden Methoden (die die Methoden als Argumente verwenden) der Typ des übergebenen Symbols als angegeben int, nicht als char. Wir haben jedoch übermittelt char. Dies liegt daran, dass Zeichenfolgen als Byte-Array gespeichert werden, wobei Zellen einem bestimmten Zeichen vom Typ entsprechen char. Die Korrespondenz zwischen den Bytes charerfolgt gemäß der ASCII-Tabelle. ASCII (amerikanischer Standardcode für den Informationsaustausch) ist eine Tabelle, die häufig druckbare und nicht druckbare Zeichen numerischen Codes zuordnet. Wenn ein bestimmtes Zeichen übergeben wird char, wird es daher automatisch in eine Zahl umgewandelt, die dieses Zeichen in der ASCII-Tabelle darstellt. Auf dieser Grundlage können wir die Zahl ( int) direkt an die Methode übergeben, die dem benötigten Zeichen entspricht. Beispielsweise entspricht das Zeichen „e“ in der ASCII-Tabelle der Zahl 101, sodass wir das vorherige Beispiel wiederholen können, jedoch ohne char:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf(101,5);
   System.out.println(value);
}
Unsere Konsolenausgabe hat sich nicht geändert:

9
PS In einigen Fällen sind diese Methoden austauschbar, da sie beispielsweise str.indexOf('e');ähnlich sind - str.indexOf('e', 0);.

Nr. 3.indexOf(String str)

Die Methode int indexOf(String str)gibt den Index in der angegebenen Zeile des ersten Vorkommens der angegebenen Teilzeichenfolge zurück. Sie unterscheidet sich grundlegend von der ersten Option darin, dass diese Methode bereits nach einem gesamten Teilstring ( String) sucht. Dadurch können wir nach etwas Spezifischerem suchen. Beispiel:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego");
   System.out.println(value);
}
Konsolenausgabe:

0
PS Bei allen Variationen indexOfwird die Groß-/Kleinschreibung beachtet: Großbuchstaben (Großbuchstaben) und Kleinbuchstaben (Kleinbuchstaben) werden als unterschiedlich betrachtet. Seien Sie aufmerksam.

Nummer 4.indexOf(String str, int fromIndex)

Die Methode indexOf(String str, int fromIndex)gibt den Index in dieser Zeile des ersten Vorkommens der angegebenen Teilzeichenfolge zurück, beginnend beim angegebenen Index. Bei dieser Option handelt es sich wiederum um eine modernere frühere Option, jedoch mit Angabe des Ortes, von dem aus die Suche durchgeführt wird. Beispiel:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego", 1);
   System.out.println(value);
}
Konsolenausgabe:

26
PS: Wenn Sie einen negativen Startindex angeben, indexOferkennt die Methode diesen als 0. In diesem Fall ähnelt die Methode erneut der vorherigen (bei der der Startindex nicht angegeben ist). Es ist alles für heute. Jetzt haben Sie dank indexOfJava mehr Wissen!
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION