Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Hướng Dẫn Bước Đi Bước Về charAt Trong Java

Phương thức charAt() trong Java trả về ký tự tại vị trí chỉ mục (index) cụ thể trong chuỗi. Ký tự đầu tiên trong chuỗi có vị trí chỉ mục 0. charAt() trả về một ký tự đơn lẻ. Nó không trả về một phạm vi ký tự.


Khi làm việc với chuỗi trong Java, bạn có thể muốn biết ký tự nào ở vị trí cụ thể trong chuỗi.

Đó là lúc phương thức charAt() xuất hiện. Phương thức charAt() trong Java dùng để tìm ký tự liên kết với vị trí cụ thể trong chuỗi. Nó cũng có thể trả về nhiều ký tự trong chuỗi.

Ví dụ, bạn đang viết chương trình truy xuất vị trí liên kết với mã vùng điện thoại Mỹ. Bạn có thể muốn truy xuất ba ký tự đầu tiên của chuỗi chứa số điện thoại.

Hướng dẫn này sẽ thảo luận cách dùng charAt() trong Java, tham khảo các ví dụ.

Tóm Tắt Về Chuỗi Trong Java

Chuỗi là kiểu dữ liệu quan trọng trong bất kỳ ngôn ngữ lập trình nào vì chúng cho phép bạn làm việc với dữ liệu dựa trên văn bản trong mã. Trong Java, chuỗi được bao quanh bằng dấu ngoặc kép (“”). Ví dụ khai báo chuỗi trong Java:

String company = "Google";

Biến company đã định nghĩa sẽ có các giá trị chỉ mục sau:

Google
012345

Chữ cái đầu 'G' có chỉ mục 0, chữ 'L' có chỉ mục 4.

charAt Trong Java

Phương thức charAt() tích hợp sẵn trong Java trả về ký tự tại vị trí chỉ mục cụ thể trong chuỗi. Ký tự đầu tiên có giá trị chỉ mục 0 và cứ thế cho các ký tự tiếp theo.

Nếu bạn muốn truy xuất ký tự đầu tiên trong chuỗi, hoặc ký tự thứ chín, ví dụ, bạn có thể dùng charAt(). Cú pháp cho phương thức charAt() như sau:

char = string_name.charAt(index)

charAt() chấp nhận một tham số: vị trí chỉ mục của ký tự bạn muốn truy xuất.

Ví Dụ charAt Trong Java

Giả sử chúng ta điều hành một quán cà phê. Chúng ta cung cấp giảm giá 5% cho tất cả khách hàng có tên bắt đầu bằng chữ G. Đây là khuyến mãi nhằm tăng doanh thu và thu hút khách.

Chúng ta muốn tạo chương trình truy xuất chữ cái đầu tiên của tên do barista nhập. Có thể làm như sau:

public class GetFirstLetter { 
    public static void main (String[] args) { 
        String name = "GRAHAM HENDERSON"; 
        char letter = name.charAt(0); 
        System.out.println("The first letter of " + name + "'s name is " + letter + "."); 
    } 
}

Khi chạy mã, chương trình trả về:

The first letter of GRAHAM HENDERSON's name is G.

Đầu tiên, tạo lớp GetFirstLetter chứa mã. Sau đó, định nghĩa biến name. Chuỗi này lưu tên khách hàng. Trong trường hợp này, tên khách là Graham Henderson. Chúng ta quyết định viết tên khách bằng chữ in hoa để giảm thiểu việc đọc nhầm tên.

Tiếp theo, định nghĩa biến letter. Dùng kiểu dữ liệu "char" vì letter chỉ lưu một ký tự.

Gán cho biến này giá trị name.charAt(0). Điều này trả về ký tự đầu tiên trong chuỗi. Nghĩa là, truy xuất ký tự có giá trị chỉ mục 0. Trong trường hợp này, phương thức charAt() trả về ký tự G.

Sau đó, in thông báo ra bảng điều khiển cho biết ký tự tại chỉ mục chỉ định, trong trường hợp này là 1.

Truy Xuất Ký Tự Khác

Nếu muốn truy xuất ký tự thứ hai trong chuỗi, có thể thay đổi mã như sau:

... 
String name = "GRAHAM HENDERSON"; 
char letter = name.charAt(1); 
System.out.println("The second letter of " + name + "'s name is " + letter + "."); 
...

Chúng ta làm hai thay đổi. Đầu tiên, thay số chỉ mục trong phương thức charAt() int index thành 1, đại diện cho ký tự thứ hai. Thứ hai, thay thông báo in thành The second letter of... thay vì The first letter of....

Mã trả về: R. Đây là chuỗi mới. Chuỗi gốc không bị thay đổi.

Như bạn thấy, mã đã truy xuất ký tự thứ hai trong chuỗi.

Ví Dụ Đếm Số Lần Xuất Hiện Với charAt Trong Java

Một ứng dụng hữu ích của phương thức charAt() là trong thuật toán đếm số lần xuất hiện. Thuật toán đếm số lần xuất hiện của một giá trị cụ thể trong chuỗi, danh sách hoặc đối tượng lặp lại khác.

Quay lại quán cà phê. Giả sử quá nhiều khách hàng yêu cầu giảm giá vì G là chữ cái đầu phổ biến. Chúng ta quyết định thay đổi khuyến mãi: chỉ giảm 5% nếu tên chứa hơn hai chữ G.

Dưới đây là mã để tính xem khách hàng có đủ điều kiện giảm giá không:

class GetLetters { 
    public static void main (String[] args) { 
        String name = "GRAHAM HENDERSON"; 
        int counter = 0; 
        for (int i = 0; i <= name.length() - 1; i++) { 
            if (name.charAt(i) == 'G') { 
                counter++; 
            } 
        } 
        System.out.println(name + "'s" + " name contains " + counter + "G."); 
    } 
}

Khi chạy mã, chương trình trả về:

GRAHAM HENDERSON's name contains 1 G.

Đầu tiên, định nghĩa lớp GetLetters chứa mã chương trình. Sau đó, định nghĩa biến name lưu tên khách hàng.

Định nghĩa biến counter theo dõi số lượng chữ G tồn tại trong chuỗi. Tiếp theo, tạo vòng lặp for Java duyệt qua từng giá trị trong biến name.

name.length() -1 báo cho vòng lặp tiếp tục cho đến khi đã duyệt qua mọi chữ cái trong chuỗi name.

Tiếp theo, định nghĩa câu lệnh if. Câu lệnh này kiểm tra xem ký tự tại vị trí chỉ mục i (phần của vòng lặp for tăng lên mỗi lần chạy) có bằng G không.

Lưu ý so sánh này phân biệt chữ hoa/chữ thường. Nếu tên được ghi bằng chữ thường, câu lệnh name.charAt(i) == 'G' không bao giờ đánh giá thành true.

Nếu ký tự tại chỉ mục i bằng G, bộ đếm tăng 1. Trên dòng cuối, chỉ đạo chương trình in thông báo ra bảng điều khiển. Thông báo cho biết ký tự G xuất hiện bao nhiêu lần trong tên khách hàng.

Kết Luận

Phương thức charAt() trong Java truy xuất ký tự tồn tại tại giá trị chỉ mục cụ thể trong chuỗi. Ví dụ, chúng ta có thể dùng charAt() để truy xuất ký tự thứ 10 trong chuỗi, hoặc ký tự thứ 15.

Hướng dẫn này đã khám phá cách dùng phương thức charAt() trong Java. Chúng ta đã đi qua ví dụ từng bước của phương thức charAt() được sử dụng, và cũng thảo luận cách charAt() có thể dùng với thuật toán đếm số lần xuất hiện trong Java.

Bây giờ bạn đã sẵn sàng bắt đầu dùng charAt() như chuyên gia trong Java! Để tìm hiểu thêm về Java, hãy đọc hướng dẫn How to Code in Java của chúng tôi.