Bài này chúng ta sẽ cùng nhau tìm hiểu về một kiểu dữ liệu cực kì quan trọng trong bất kì ngôn ngữ lập trình nào, đó là Chuỗi. Trong phạm vi của bài này, chúng ta sẽ học cách khai báo một chuỗi, các thao tác cơ bản trên chuỗi. Cùng nhau bắt đầu nhé.

1. Khai báo chuỗi

Trong Java, để khai báo 1 chuỗi, chúng ta có 2 cách như sau:

Cách 1:

String tenChuoi = "giá_trị_khởi_tạo_của_chuỗi";

String tenChuoi;

Trong đó, giá_trị_khởi_tạo_của_chuỗi phải được đặt trong cặp dấu ” “. Nếu một chuỗi có giá_trị_khởi_tạo = ” ” thì chuỗi đó được gọi là chuỗi rỗng hoặc nếu không khai báo thì giá trị của chuỗi sẽ là null.

Ví dụ

1

2

3

4

5

6

7

8

9

10

11

public static void main(String[] args) {

    // khai báo chuỗi rỗng

    String chuoiRong = "";

    // khai báo chuỗi có giá trị là "Xin chào"

    String chuoiGiaTri = "Xin chào";

    // khai báo chuỗi có giá trị là "Xin chào"

    String chuoiNull;

    // hiển thị giá trị của 2 chuỗi trên ra màn hình

    System.out.println("Chuỗi rỗng có giá trị = " + chuoiRong );

    System.out.println("Chuỗi được khai báo có giá trị = " + chuoiGiaTri);

    System.out.println("Chuỗi null = " + chuoiNull);

}

Cách 2: Sử dụng từ khóa new.

String tenChuoi = new String("giá_trị_khởi_tạo");

trong đó giá_trị_khởi_tạo là một chuỗi bất kỳ và phải đặt trong cặp dấu ” ” hoặc có thể để rỗng.

Ví dụ

1

2

3

4

5

public static void main(String[] args) {

    // khai báo một chuỗi có nội dung là "Welcome to Java!"

    String chuoi = new String("Welcome to Java!");

    System.out.println(chuoi);

        // Khai báo chuỗi rỗng

        String name = new String();

        System.out.println("Chuỗi rỗng: " + name);

        String name1 = new String("");

        System.out.println("Chuỗi rỗng: " + name1);

        // Khai báo chuỗi có giá trị

        String name2 = new String("Xin chào");

        System.out.println("Chuỗi có giá trị: " + name2);

}

2. Các hàm xử lý chuỗi ký tự

2.1. Hàm xác định độ dài chuỗi ký tự

Cú pháp

1

int length = chuoi.length();

Chức năng: Hàm trả về độ dài của chuỗi ký tự bằng cách đếm các ký tự trong chuỗi.

Ví dụ

1

2

3

4

5

6

7

8

9

public static void main(String[] args) {

    String chuoi;

    int doDai;

    Scanner scanner = new Scanner(System.in);

    System.out.println("Nhập vào chuỗi bất kỳ nào đó từ bàn phím: ");

    chuoi = scanner.nextLine();

    // Lấy độ dài chuỗi

    doDai = chuoi.length();

    System.out.println("Chuỗi " + chuoi + " có độ dài là = " + doDai);

}

2.2. Hàm nối 2 chuỗi ký tự

Trong Java, để nối hai chuỗi ký tự chúng ta có thể sử dụng toán tử cộng(+) hoặc hàm concat. Cụ thể như sau: 

Cú pháp

String string3 = string1.concat(string2);

String string3 = string1 + string2;

Chức năng: Hàm concat hoặc toán tử + có tác dụng nối chuỗi string2 vào string1 và trả về chuỗi string3.

Ví dụ

1

2

3

4

5

6

7

8

9

public static void main(String[] args) {

    String chuoi1 = “Happy “, chuoi2 = “birth day!”;

    /*

     * Thực hiện nối chuỗi1 và chuỗi 2 thành chuỗi 3

     */

    String chuoi3 = chuoi1.concat(chuoi2);

    System.out.println(chuoi3);

}

2.3. Hàm lấy một ký tự trong chuỗi theo chỉ số

Lưu ý: Một chuỗi là tập hợp của các ký tự. Ký tự đầu tiên trong chuỗi sẽ có chỉ số (index) là 0. Ví dụ: Một chuỗi có độ dài là 10 thì chỉ số của các ký tự trong chuỗi đó sẽ được đánh số lần lượt từ 0 đến 9.

Cú pháp

1

char kyTu = chuoi.charAt(int chiSo);

Chức năng: Hàm trả về ký tự  kyTu trong chuỗi có chỉ số là chiSo.

Ví dụ

1

2

3

4

5

6

7

8

9

10

public static void main(String[] args) {

    String chuoi = "Happy birth day!";

    /*

     * lấy ký tự có chỉ số là 4 trong chuỗi

     * ký tự đầu tiên 'H' có chỉ số = 0

     * Ký tự có chỉ số = 4 là ký tự 'y'

     */

    char kyTu = chuoi.charAt(4);

    System.out.println(kyTu);

}

2.4. Hàm so sánh 2 chuỗi ký tự

Cú pháp

int result = string1.compareTo(String string2);

Chức năng: Hàm có tác dụng so sánh hai chuỗi string1, string2 và trả về kết quả:

Nếu result = 0 thì hai chuỗi đó bằng nhau.

Nếu result < 0 thì chuỗi string1 < string2.

Nếu result > 0 thì chuỗi string1 > string2.

Ví dụ

1

2

3

4

5

6

7

8

9

10

public static void main(String[] args) {

    int ketQua;

    String chuoi1= "Happy new year 2019!";

    String chuoi2= "Happy birth day!";

    ketQua = chuoi1.compareTo(chuoi2);

    if (ketQua == 0) {

        System.out.println("Chuỗi " + chuoi1+ " = " + chuoi2);

    } else if (ketQua < 0) {

        System.out.println("Chuỗi " + chuoi1+ " < " + chuoi2);

    } else {

        System.out.println("Chuỗi " + chuoi1+ " > " + chuoi2);

    }

}

2.5. Hàm thay thế một chuỗi con trong chuỗi ký tự bằng chuỗi khác

Cú pháp

1

String string2 = string1.replace(char replaceElement, char newElement);

Chức năng: Hàm sẽ thay thế ký tự replaceElement bằng ký tự newElement trong chuỗi string1 và trả ra kết quả vào string2.

Ví dụ

1

2

3

4

public static void main(String[] args) {

    String string1 = new String("Xin chao");

    // ký tự thay thế 'X' không có trong chuỗi string1

    System.out.println(string1.replace('X', ''));    }

2.6. Hàm loại bỏ các khoảng trắng thừa ở đầu và cuối chuỗi

Cú pháp

1

String string1 = string1.trim();

Chức năng: Hàm sẽ loại bỏ các khoảng trắng thừa ở đầu và cuối chuỗi string1. Nếu chuỗi đó không có khoảng trắng thừa thì chương trình sẽ trả về chuỗi gốc.

Ví dụ

1

2

3

4

5

public static void main(String[] args) {

    String string1 = new String("    Xin chao cac ban!   ");

    // loại bỏ các khoảng trắng trong chuỗi string1

    string1 = string1.trim();

    System.out.println("Kết quả sử dụng hàm trim(): " + string1);

}

2.7. Hàm cắt chuỗi

Cú pháp

1

2

String chuoiCon = chuoiCha.substring(int viTriBatDau);

String chuoiCon = chuoiCha.substring(int viTriBatDau, int viTriKetThuc);

Chức năng: Hàm cắt chuỗi sẽ cắt chuỗi ban đầu từ vị trí có chỉ số là viTriBatDau đến (viTriKetThuc – 1). Nếu không chỉ định viTriKetThuc, thì hàm cắt chuỗi sẽ cắt chuỗi ban đầu từ vị trí có chỉ số viTriBatDau đến cuối chuỗi.

Ví dụ

1

2

3

4

5

6

7

8

9

10

11

public static void main(String[] args) {

    String hello = new String("Xin chào các lập trình viên.");

    // cắt một chuỗi con từ vị trí 11 đến hết chuỗi hello

    String subString= hello.substring(11);

    System.out.println(subString);

    /*

     * cắt một chuỗi con từ vị trí 11

     * và kết thúc tại vị trí 15 trong chuỗi hello

     */

    String subString2 = hello.substring(11, 15);

    System.out.println(subString2);

}

LEAVE A REPLY

Please enter your comment!
Please enter your name here