Java String IndexOf là gì? Phương thức hoạt động Java String IndexOf

Có thể nói xử lý chuỗi và thao tác với chuỗi là một trong những tác vụ phổ biến nhất cần phải được thực hiện ở bất kỳ ứng dụng phần mềm nào. Các ngôn ngữ khác nhau sẽ triển khai các chuỗi theo cách khác nhau. Trong đó chuỗi được thực hiện dưới dạng các đối tượng của lớp chuỗi độc lập và được triển khai một cách cụ thể. Đặc biệt ưu điểm của nó là cho phép lập trình liên kết các phương thức với lớp String thao tác đối tượng chuỗi. Cùng Box.edu tìm hiểu kỹ hơn về Java String IndexOf nhé!

Mục lục bài viết

Phương pháp Java String IndexOf là gì?

phuong-phap-java-string-indexof-la-gi.jpg

Phương pháp Java String IndexOf là gì?

Phương thức Java IndexOf này chính là một hàm được sử dụng để lấy giá trị nguyên của một chỉ mục cụ thể của đối tượng kiểu String, dựa trên tiêu chí được chỉ định trong các tham số của phương thức IndexOf. Một tình huống điển hình đó là khi quản trị viên hệ thống muốn tìm chỉ mục của ký tự ‘@’ trong Id email của khách hàng và sau đó muốn lấy chuỗi con còn lại. Đối với những trường hợp như vậy, phương pháp IndexOf có thể được sử dụng.

Chuỗi là một tập hợp các ký tự được lồng trong dấu ngoặc kép. Các IndexOf thức này được trả về vị trí chỉ mục của một ký tự hoặc chuỗi con được chỉ định trong một chuỗi.

Có bốn phương thức indexOf () được nạp chồng trong Java. Chữ ký của các phương thức indexOf () này sẽ được thể hiện chi tiết như sau:

Không Phương pháp Sự miêu tả
1 int indexOf (int ch) Nó sẽ trả về vị trí chỉ mục cho giá trị char đã cho
2 int indexOf (int ch, int fromIndex) Được trả về vị trí chỉ mục cho các giá trị char đã cho và từ chỉ mục
3 int indexOf (Chuỗi con) Thực hiện trả về vị trí chỉ mục trong chuỗi con đã cho
4 int indexOf (Chuỗi con và int fromIndex) Việc trả về vị trí chỉ mục cho chuỗi mà đã được cho và từ chỉ mục

Tìm hiểu cú pháp IndexOf cho phương thức

Các phương thức IndexOf được thể hiện như sau:

public int indexOf(int char)
public int indexOf(int char, int fromIndex)
public int indexOf(String str)
public int indexOf(String str, int fromIndex)

Sau đây chúng tôi sẽ lý giải cho các bạn một vài thuật ngữ cụ thể sau đây:

  • charđại diện cho một ký tự duy nhất ở trong một chuỗi
  • fromIndexbiểu thị vị trí bắt đầu tìm kiếm chỉ mục của một ký tự hoặc một chuỗi con. Điều này rất quan trọng khi bạn có hai ký tự / chuỗi có cùng giá trị trong một chuỗi. Với những tham số này, bạn có thể cho indexOfphương thức biết bắt đầu hoạt động của nó là từ đâu
  • strđại diện cho một chuỗi con trong một chuỗi

Phương thức Java String IndexOf được hoạt động như thế nào?

Phương thức Java String có bốn lần quá tải. Tất cả các quá tải này sẽ trả về một giá trị kiểu số nguyên, đại diện cho chỉ số được trả về. Những quá tải này thường khác nhau về kiểu và số lượng tham số mà chúng chấp nhận. Các phương thức quá tải này đã được mô tả cụ thể như sau:

IndexOf (char c)

Phương thức này sẽ trả về chỉ số của ký tự ‘c’ được truyền dưới dạng tham số. Nếu ký tự được chỉ định không có trong chuỗi thì chỉ số này trả về sẽ là -1.

IndexOf (char c, int fromindex)

Phương thức trên trả về chỉ mục của lần xuất hiện đầu tiên của ký tự ‘c’ sau khi chỉ mục số nguyên được truyền dưới dạng tham số thứ hai “fromindex”. Hầu hết tất cả các lần xuất hiện của ký tự ‘c’ trước chỉ mục số nguyên “fromindex” đều sẽ bị bỏ qua.

IndexOf (Chuỗi con)

Phương thức trên trả về chỉ số của ký tự đầu tiên của chuỗi con được truyền làm tham số cho nó. Nếu chuỗi con được chỉ định không có trong chuỗi thì chỉ mục trả về kết quả là -1.

IndexOf (Chuỗi con và int từ chỉ mục)

Phương thức này được trả về chỉ mục của ký tự đầu tiên trong chuỗi con được truyền làm tham số đầu tiên, sau giá trị chỉ mục và từ chỉ mục. Nếu chuỗi con bắt đầu từ giá trị số nguyên đã truyền của fromindex thì chuỗi con đó sẽ bị bỏ qua.

Ví dụ làm việc của phương pháp Java String IndexOf

vi-du-lam-viec-cua-phuong-phap-java-string-indexof.jpg

Ví dụ làm việc của phương pháp Java String IndexOf

Để có thể hiểu rõ hơn về Java String này thì cùng xem lại 4 ví dụ dưới đây để giải thích cho bốn cách nạp chồng của phương thức indexOf trong chuỗi java.

Ví dụ 1:

Ví dụ đầu tiên minh họa một phương thức Java IndexOf chỉ nhận một tham số kiểu ký tự:

String str = new String ("Hướng dẫn Java");
int indexOfJ = str.indexOf ('J');
int indexOfj = str.indexOf ('j');
int indexOfq = str.indexOf ('q');
System.out .println (indexOfJ);
System.out .println (indexOfj);
System.out .println (indexOfq);

Đối với ví dụ trên, một đối tượng kiểu chuỗi str đã được khai báo. Đối tượng String này chứa một giá trị theo đúng nghĩa đen của “Java Tutorials”.

Tiếp theo, ba biến kiểu số nguyên, cụ thể là indexOfJ, indexOfj và indexOfq đã được khai báo, đồng thời nó sẽ chứa các giá trị được trả về bởi indexOf (‘J’), indexOf (‘j’) và indexOf (‘q’) tương ứng.

Phương thức Java String đầu tiên này đã được gọi và một ký tự ‘J’ sẽ được chuyển cho nó. Phương thức này sẽ trả về chỉ mục của J trong chuỗi str là 6. Điều đặc biệt ở đây là chỉ mục này dựa trên chuỗi bắt đầu từ 0. Có nghĩa là ký tự đầu tiên có 0index và ký tự cuối cùng cũng chỉ có số độ dài của chuỗi là -1.

Ở những dòng tiếp theo, một lần nữa phương thức indexOf đã được gọi nhưng lần này một ký tự nhỏ ‘j’ đã được chuyển cho nó. Nhưng vì chuỗi này không chứa ký tự nhỏ ‘j’, do đó -1 sẽ được trả về. Điều này cho thấy rằng phương thức indexOf có phân biệt chữ hoa và chữ thường.

Cuối cùng, nếu một ký tự không có trong chuỗi thì phương thức indexOf sẽ trả về -1 như trong trường hợp thứ ba của ví dụ trên, trong đó ‘q’ đã được truyền cho phương thức indexOf không có trong đối tượng kiểu chuỗi str. Đầu ra của Ví dụ1 này sẽ là:

6

-1

-1

Ví dụ 2:

Ví dụ dưới đây sẽ minh họa cho việc quá tải phương thức indexOf lấy phần tử đầu tiên kiểu ký tự và kiểu số nguyên từ chỉ mục làm phần tử thứ hai:

String str = new String ("Hướng dẫn Java");
int indexOfaAfter10 = str.indexOf ('a', 10);
System.out .println (indexOfaAfter10);

Ở ví dụ này phương thức indexOf sẽ trả về chỉ mục của ký tự ‘a’ xuất hiện trong chuỗi sau chỉ mục thứ 10 sẽ là 17. Trong đối tượng kiểu String, mặc dù có hai chữ cái ‘a’ trong từ Java nhưng chúng sẽ bị bỏ qua và chỉ mục của chữ cái ‘a’ trong từ Hướng dẫn sẽ được trả về vì nó xuất hiện sau chỉ mục thứ 10. Nếu không có ký tự nào như vậy thoát ra sau chỉ mục được chỉ định, thì -1 sẽ được trả về.

Ví dụ 3:

Ví dụ sau minh họa quá tải phương thức Java String indexOf nhận một biến kiểu chuỗi làm tham số và trả về chỉ mục bắt đầu của chuỗi đó:

String str = new String ("Hướng dẫn Java");
int indexOfJava = str.indexOf ("Java");
Hệ thống. ra .println (indexOfJava);

Trong ví dụ trên, phương thức indexOf nhận một tham số là chuỗi ký tự “Java”. Phương thức chỉ mục này sẽ tìm kiếm chuỗi trong chuỗi str và sẽ trả về chỉ số bắt đầu của chuỗi đó là 6 với trường hợp trên.

Ví dụ 4:

Ví dụ này sẽ minh họa quá tải phương thức Java String indexOf lấy một biến kiểu chuỗi làm tham số và biến chỉ mục kiểu số nguyên khác từ biến và trả về chỉ mục bắt đầu của chuỗi đó sau các chỉ mục được chỉ định:

String str = new String ("Hướng dẫn Java cho Người mới bắt đầu Java");
int indexOfJava = str.indexOf ("Java", 10);
System.out.println (indexOfJava);

Với ví dụ trên, có hai chuỗi con “Java” trong chuỗi chính str. Phương thức indexOf này nhận hai tham số đó là: Một chuỗi ký tự “Java” có chỉ mục bắt đầu phải được tìm thấy và kiểu số nguyên từ chỉ mục 10, chỉ định chỉ mục mà sau đó chỉ mục bắt đầu của chuỗi “Java” phải được trả về, trong trường hợp này sẽ là 25.

Tổng kết

Chúng tôi mong rằng qua bài viết này các bạn có thể hiểu rõ hơn về Java String IndexOf, đặc biệt là phương thức sử dụng của nó trong ngôn ngữ lập trình Java. Điều này sẽ góp phần giúp bạn có thể học Java được tốt hơn.

5/5 - (20 bình chọn)