Thao tác với indexOf trong Java

Ngày đăng: 11/06/2020   -    Cập nhật: 11/06/2020

Trong chuỗi bài hướng dẫn và chia sẻ kiến thức về Java cơ bản, chúng ta đã làm việc qua khá nhiều phương thức hay ho được cung cấp sẵn.


Từ cách làm việc với số, với các kiểu dữ liệu và toán tử đến các phương pháp và lộ trình học Java tốt.


Tuy nhiên, Java cơ bản còn rất nhiều thứ cần để học, chẳng hạn như indexOf – bạn đã biết đến indexOf trong Java chưa? Hay là chúng ta lướt qua một vòng về indexOf để biết nó là gì nhé.


 

1. Phương thức indexOf dùng để làm gì?


 

 
Phương thức indexOf trong Java

Phương thức indexOf trong Java
 

Trong các phương thức cơ bản mà Java cung cấp để làm việc với số - với chuỗi thì chúng ta không thể bỏ qua phương thức indexOf được.


Bởi phương thức indexOf là nhân tố cực kỳ quan trọng làm giảm bớt đi mọi rắc rồi và phức tạm của các phương pháp xử lý chuỗi thủ công mang lại.


 

Trong Java, phương thức indexOf() được sử dụng để tìm chỉ mục (hay còn được gọi là vị trí) của một ký tự hoặc một chuỗi con cho trước trong một chuỗi cha xác đinh nào đó.

 

Nghĩa là với một chuỗi string truyền vào thì java.lang.String.indexOf(String str) sẽ trả về một nguyên k nhỏ nhất sao cho this.startsWith(str, k)true.

 

2. Các cách sử dụng phương thức indexOf trong Java (Ví dụ cụ thể)
 


IndexOf() trong Java đa dạng về cách sử dụng và phạm vi các trường hợp áp dụng, cụ thể indexOf có hết thảy 4 biến thể. Bài viết này, mình sẽ mô tả một cách tường tận về chúng.

 

String indexOf(): Phương thức này trả về chỉ mục - nơi ký tự được chỉ định xuất hiện đầu tiên trong chuỗi cha hoặc nếu ký tự không tồn tại sẽ trả về -1.
 

Cú pháp:

 


public int indexOf(int character)
 


 

Trong đó:

 

  • character: là kí tự mà ta cần biết vị trí.



Ví dụ: Nếu bạn muốn tìm ví trí xuất hiên đầu tiên của kí tự “N” trong câu “Hà Nội 36 Phố phường” ta có thể làm như sau:

 


package indexOf;

public class IndexOfExample {
    public static void main(String args[]) {
        // Khởi tạo chuỗi mẫu
        String indexString = new String("Hà Nội 36 phố phường");
        // In ra vị trí đầu tiên của N trong chuỗi mẫu
        System.out.println(indexString.indexOf('N')); // 3
    }
}
 


 

String indexOf(char ch, int strt): Phương thức này trả về chỉ mục - nơi ký tự được chỉ định xuất hiện đầu tiên trong chuỗi cha tính từ vị trí cần tìm cho trước hoặc nếu ký tự không tồn tại sẽ trả về -1.
 

Cú pháp:

 


public int indexOf(int character, int string_start)
 


 

Trong đó:

 

  • character: là kí tự cần tìm chỉ mục
  • string_start: vị trí bắt đầu tìm kiếm trong chuỗi đã cho.
     


Ví dụ: Với chuỗi “Hà Nội 36 phố phường” ta muốn biết vị trí của kí tự ‘h’ tính từ vị trí thứ 12 thì sao? indexOf(char ch, int strt) trong trường hợp này có phải đã bỏ qua vị trí h - 11 không?

 


package indexOf;

public class IndexOfExample {
    public static void main(String args[]) {
        // Khởi tạo chuỗi mẫu
        String indexString = new String("Hà Nội 36 phố phường");
        // In ra vị trí đầu tiên của 'h' trong chuỗi mẫu tính từ ví trí 12
        System.out.println(indexString.indexOf('h'12)); // 15
    }
}
 


 

String indexOf(String str): Phương thức này trả về chỉ mục - nơi chuỗi con xuất hiện lần đầu tiên trong chuỗi cha. Bắt đầu tìm kiếm từ vị trí 0 - Nếu không tìm thấy chuỗi con kết quả sẽ trả về -1.



Cú pháp:

 


int indexOf(String sub_string)
 


 

Trong đó:

 

  • sub_string: là chuỗi con cần tìm chỉ mục.



Ví dụ: Để tìm vị trí của chuỗi con “36” trong câu “Hà Nội 36 phố phường” ta có đoạn code mẫu như sau:

 


package indexOf;

public class IndexOfExample {
    public static void main(String args[]) {

        // Khởi tạo chuỗi mẫu và chuỗi con
        String indexString = new String("Hà Nội 36 Phố phường");
        String sub_string = "36";
        // In ra vị trí đầu tiên của '36' trong chuỗi mẫu
        System.out.println(indexString.indexOf(sub_string)); // 7
    }
}
 


 

String indexOf(String str, int strt): Phương thức này trả về chỉ mục - nơi chuỗi con xuất hiện lần đầu tiên trong chuỗi cha tính từ vị trí đã cho trước. Hoặc nếu chuỗi con không tồn tại sẽ trả về -1.

 

Cú pháp:

 


int indexOf(String str, int string_start)
 



Trong đó:

 

  • string: chuỗi con cần tìm vị trí
  • string_start: vị trí để bắt đầu tìm kiếm trong chuỗi cha.


 

Ví dụ: Tìm chỉ mục của chuỗi con “ph” tính từ ví trí thứ 11 trong chuỗi “Hà Nội 36 phố phường

 


package indexOf;

public class IndexOfExample {
    public static void main(String args[]) {
        // Khởi tạo chuỗi mẫu và chuỗi con
        String indexString = new String("Hà Nội 36 phố phường");
        String sub_string = "ph";
        // In ra vị trí đầu tiên của 'ph' trong tính từ vị trí 11
        System.out.println(indexString.indexOf(sub_string, 11)); // 14
    }
}
 


 

Ngoài ra, bạn có thể sử dụng phương thức indexOf ở một mức độ nâng cao hơn. Chẳng hạn như kiểm tra xem một ký tự nào đó có phải một nguyên âm hay là không?

 


package indexOf;

public class IndexOfExample {
    public static void main(String[] args) {
        boolean isVowel = Vowel('U');

        if (isVowel) {
            System.out.println("Là nguyên âm.");
        } else {

            System.out.println("Không phải nguyên âm.");
        }

        public static boolean Vowel(char c) {
            return "AEIOUaeiou".indexOf(c) >= 0;
        }
    }
}
 


Với bốn biến thể cơ bản, indexOf hầu như có thể giúp bạn xây dựng các tính năng cao hơn, phức tạp hơn cho các hoạt động xử lý liên quan đến chuỗi.


Trong thực tế, để hiểu sâu hơn về cách hoạt động của indexOf, bạn hãy thử thay thế các vị trí cho trước để xem kết quả khác nhau như thế nào, nếu được hãy kết hợp với các phương thức các bạn đã biết để giúp code của mình trở nên ngầu hơn.


 

Chúc mừng bạn đã hiểu rõ về phương thức indexOf trong Java.


 

Mặc dù đơn giản nhưng hầu hết các dự án lớn trong thực tế đều sử dụng phương thức indexOf ở một vai trò cụ thể nào đó.


Nhất là đối với các loại dữ liệu về chuỗi thì indexOf chưa bao giờ bị lãng quên bởi các lập trình viên Java.



Như đã nói bên trên, để phát huy hết vai trò và sức mạnh của mình, indexOf thường hay được sử dụng kết hợp với các phương thức cơ bản khác để cấu thành nên những funtion phức tạp mà các bạn hay nhìn thấy ở những dự án lớn – mấy cái phức tạp vốn là cộng hưởng của những thứ đơn giản mà ra đấy.


 

> Trong khóa học lập trình Java mình hướng dẫn, mình cũng nói với các học viên rằng, cơ bản mới quan trọng, phải chắc phần cơ bản, phần móng thì nhà tuyển dụng mới săn đón. Công nghệ, framework là điều kiện đủ mà thôi.


 

Mình tin rằng kiến thức được cung cấp trong bài viết này đủ để các bạn hiểu và sử dụng indexOf trong Java phục vụ cho nhu cầu code hằng ngày một cách thuần thục rồi.


Nếu có khó khăn gì hãy xem đi xem lại các phần ví dụ cụ thể và rõ ràng bên trên bạn nhé.



---

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Dạy học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150 
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
Bình luận Facebook
Khóa học liên quan đến bài viết

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate

Khóa học Lập trình Android tại Hà Nội

59 giờ
NIIT - ICT Hà Nội cung cấp khóa học Lập trình Android với ngôn ngữ lập trình Java. Chương trình cung ứng lập trình viên Android theo yêu cầu doanh nghiệp.

Lập trình Android Nâng cao

56 giờ
Khóa học Android nâng cao cung cấp kiến thức và kỹ năng chuyên sâu về lập trình Android. Phát triển ứng dụng tiên triến như: Lập trình giao diện tùy biến, xử lý dữ liệu nâng cao
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!