JavaRush /Java Blog /Random-ID /Metode IndexOf dari kelas String: mengapa diperlukan dan ...

Metode IndexOf dari kelas String: mengapa diperlukan dan bagaimana cara kerjanya

Dipublikasikan di grup Random-ID
Halo! Pemrogram sering kali menggunakan metode secara otomatis, tanpa memikirkan cara kerjanya. Inilah teknik dasar yang wajib Anda ketahui.

Apa yang dimaksud dengan metode kelebihan beban?

Sebelum kita melihat metode yang disebutkan dalam judul, mari kita ingat (dan seseorang akan tahu) apa itu metode kelebihan muatan. Overloading metode Java memungkinkan dua atau lebih metode dengan nama yang sama didefinisikan dalam kelas yang sama. Ini hanya mungkin jika mereka memiliki parameter masukan yang berbeda. Dalam hal ini, metodenya disebut kelebihan beban, dan prosesnya sendiri disebut metode kelebihan beban. Metode IndexOf dari kelas String: mengapa diperlukan dan cara kerjanya - 1Metode kelebihan beban adalah salah satu prinsip dasar polimorfisme di Java.

Untuk apa metode indexOfkelas ?String

Bayangkan Anda memiliki string yang panjang. Misalnya, sebuah surat, dan Anda perlu mencari tempat alamat pertama ke penerima dengan nama yang sudah Anda ketahui. Bagaimana kamu akan melakukan ini? Gunakan metode indexOf javakelas String. Metode ini adalah contoh umum dari metode kelebihan beban yang telah kita bahas di atas.

Pilihan metodeindexOf

Metode ini java string indexOfmemiliki empat variasi berbeda:

No.1.indexOf(int ch)

Metode ini int indexOf(int ch)mengembalikan indeks dalam string tertentu dari kemunculan pertama karakter yang ditentukan. Dengan kata lain, kita akan mendapatkan bilangan kemunculan pertama suatu karakter tertentu, dihitung dari kiri ke kanan. Contoh:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e');
   System.out.println(value);
}
Keluaran konsol:

2
Jika karakter yang kita cari tidak ada pada baris ini maka kita akan mendapatkan -1.
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('j');
   System.out.println(value);
}
Keluaran konsol:

-1
PS Agar tidak membingungkan apa pun, jangan lupa bahwa karakter dalam satu baris dihitung bukan dari “1,2,3…”, tetapi dari “0,1,2…”

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

Metode ini int indexOf(int ch, int fromIndex)mengembalikan indeks dalam string ini dengan kemunculan pertama karakter tertentu, memulai pencarian pada indeks yang ditentukan. Cara ini merupakan versi yang lebih modern dari cara sebelumnya. Perbedaannya adalah kami menunjukkan nomor elemen tempat pencarian sebenarnya akan dimulai. Contoh:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e',5);
   System.out.println(value);
}
Keluaran konsol:

9
Jika indeks tempat pencarian dilakukan melebihi panjang string, maka jawabannya adalah -1. Metode IndexOf dari kelas String: mengapa diperlukan dan cara kerjanya - 2Seperti yang mungkin Anda ketahui, dalam tanda tangan kedua metode ini (yang dianggap sebagai argumen oleh metode tersebut), tipe simbol yang diteruskan ditentukan sebagai int, bukan char. Namun, kami mengirimkannya char. Ini karena string disimpan sebagai array byte, di mana sel-selnya sesuai dengan karakter bertipe tertentu char. Korespondensi antar byte chardilakukan sesuai dengan tabel ASCII. ASCII (kode standar Amerika untuk pertukaran informasi) adalah tabel yang memetakan karakter umum yang dapat dicetak dan tidak dapat dicetak ke kode numerik. Oleh karena itu, ketika karakter tertentu dilewatkan char, secara otomatis diubah menjadi angka yang mewakili karakter tersebut dalam tabel ASCII. Berdasarkan hal tersebut, kita dapat langsung meneruskan angka ( int) ke metode yang sesuai dengan karakter yang kita butuhkan. Misalnya, karakter 'e' pada tabel ASCII berhubungan dengan angka 101, jadi kita dapat mengulangi contoh sebelumnya, tetapi tanpa char:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf(101,5);
   System.out.println(value);
}
Output konsol kami tidak berubah:

9
PS Dalam beberapa kasus, metode ini dapat dipertukarkan, misalnya str.indexOf('e');akan serupa - str.indexOf('e', 0);.

Nomor 3.indexOf(String str)

Metode ini int indexOf(String str)mengembalikan indeks pada baris tertentu dari kemunculan pertama substring yang ditentukan. Ini secara mendasar berbeda dari opsi pertama karena metode ini sudah mencari seluruh substring ( String). Berkat ini, kami dapat mencari sesuatu yang lebih spesifik. Contoh:
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);
}
Keluaran konsol:

0
PS Semua variasi indexOfpeka huruf besar-kecil: karakter huruf besar (huruf kapital) dan karakter huruf kecil (huruf kecil) dianggap berbeda. Hati-hati.

Nomor 4.indexOf(String str, int fromIndex)

Metode indexOf(String str, int fromIndex)mengembalikan indeks di baris ini dari kemunculan pertama substring yang ditentukan, dimulai dari indeks yang ditentukan. Opsi ini sekali lagi merupakan opsi sebelumnya yang lebih modern, tetapi dengan indikasi tempat pencarian akan dilakukan. Contoh:
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);
}
Keluaran konsol:

26
PS Jika Anda menentukan indeks awal negatif, metode indexOfakan menganggapnya sebagai 0. Dalam hal ini, metode akan kembali serupa dengan yang sebelumnya (di mana indeks awal tidak ditentukan). Itu saja untuk hari ini. Sekarang Anda memiliki lebih banyak pengetahuan berkat indexOfJava!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION