Chuỗi (String) trong Java – Sửa Máy Nhanh

1. Khai báo chuỗi ký tự

Trong Java, để khai báo 1 chuỗi ký tự thì tất cả chúng ta có 2 cách như sau :

Cách 1:

Cú pháp

1

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

trong đó, giá_trị_khởi_tạo của chuỗi có thể có hoặc không và nếu có thì phải đặ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.

Ví dụ

1234567891011

public static void main(String[] args) {

    

    String chuoi1 = "";

        

    

    String chuoi2 = "Welcome";

        

    

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

    System.out.println("Chuỗi 2 có giá trị = " + chuoi2);

}

Kết quả sau khi biên dịch chương trình :

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

Cú pháp

1

String tenChuoi = new String("giá_trị");

trong đó giá_trị là một chuỗi bất kỳ và phải đặt trong cặp dấu ” “.

Ví dụ

12345

public static void main(String[] args) {

    

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

    System.out.println(chuoi);

}

Kết quả sau khi biên dịch chương trình :

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

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

Cú pháp

1

int length = tên_chuỗi.length();

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

Ví dụ

12345678910111213

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ỳ từ bàn phím: ");

    chuoi = scanner.nextLine();

        

    

    doDai = chuoi.length();

        

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

}

Kết quả sau khi biên dịch chương trình :

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

Trong Java, để nối 2 chuỗi ký tự lại với nhau thì chúng ta có 2 cách. Cách thứ nhất là chúng ta dùng dấu + để nối chuỗi (cách này tôi đã đề cập trong các bài trước) và cách thứ hai là dùng phương thức concat().

Cú pháp

1

String string3 = string1.concat(String string2);

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

Ví dụ

123456789

public static void main(String[] args) {

    String chuoi1 = "Happy ", chuoi2 = "new year!";

    

     

     

    String chuoi3 = chuoi1.concat(chuoi2);

    System.out.println(chuoi3);

}

Kết quả sau khi biên dịch chương trình :

Hàm trả về một ký tự trong chuỗi.

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

Cú pháp

1

char character = chuoi.charAt(int index);

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

Ví dụ

1234567891011

public static void main(String[] args) {

    String chuoi = "Happy new year!";

        

    

     

     

     

     

    char character = chuoi.charAt(4);

    System.out.println(character);

}

Kết quả sau khi biên dịch chương trình :

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

Cú pháp

1

int result = string1.compareTo(String string2);

Chức năng: Hàm có tác dụng so sánh hai chuỗi string1string2 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ụ

1234567891011121314

public static void main(String[] args) {

    int result;

    String string1 = "Happy new year!";

    String string2 = "Happy new year!";

        

    result = string1.compareTo(string2);

    if (result == 0) {

        System.out.println("Chuỗi " + string1 + " = " + string2);

    } else if (result < 0) {

        System.out.println("Chuỗi " + string1 + " < " + string2);

    } else {

        System.out.println("Chuỗi " + string1 + " > " + string2);

    }

}

Kết quả sau khi biên dịch chương trình :

Hàm trả về vị trí xuất hiện đầu tiên của một chuỗi trong chuỗi khác.

Cú pháp

1

int result = string1.indexOf(String string2);

Chức năng: Hàm trả về vị trí xuất hiện đầu tiên của chuỗi string2 trong string1. Nếu chuỗi string2 không có trong chuỗi string1 thì kết quả trả về result = -1.

Ví dụ

123456789

public static void main(String[] args) {

    int result;

    String string1 = "Happy new year!";

    String string2 = "new year!";

        

    result = string1.indexOf(string2);

    System.out.println("Vị trí đầu tiên xuất hiện chuỗi " + string2 +

        " trong chuỗi " + string1 + " = " + result);

}

Kết quả sau khi biên dịch chương trình :

Hàm trả về vị trí xuất hiện cuối cùng của một chuỗi trong chuỗi khác.

Cú pháp

1

int result = string1.lastIndexOf(String string2);

Chức năng: Hàm trả về vị trí xuất hiện cuối cùng của chuỗi string2 trong string1. Nếu chuỗi string2 không có trong chuỗi string1 thì kết quả trả về result = -1.

Ví dụ

123456789

public static void main(String[] args) {

    int result;

    String string1 = "Happy new year and new year!";

    String string2 = "new year!";

        

    result = string1.lastIndexOf(string2);

    System.out.println("Vị trí cuối cùng xuất hiện chuỗi " + string2 +

        " trong chuỗi " + string1 + " = " + result);

}

Kết quả sau khi biên dịch chương trình :

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

Cú pháp

1

string1.replace(char oldChar, char newChar);

Chức năng: Hàm sẽ thay thế ký tự oldChar bằng ký tự newChar trong chuỗi string1. Nếu ký tự cần thay thế không có trong chuỗi string1 thì chương trình sẽ trả về chuỗi string1.

Ví dụ

12345678910

public static void main(String[] args) {

    String string1 = new String("Happy new year!");

        

    

    System.out.println(string1.replace('l', 'r'));

        

    

    System.out.println("Chuỗi sau khi thay thế là " +

        string1.replace('y', 'r'));

}

Kết quả sau khi biên dịch chương trình :

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ụ

12345678

public static void main(String[] args) {

    String string1 = new String("   Welcome to Freetuts.net!   ");

        

    

    string1 = string1.trim();

        

    System.out.println("Chuỗi sau khi loại bỏ khoảng trắng thừa là " + string1);

}

Kết quả sau khi biên dịch chương trình :

Hàm tạo một chuỗi con từ vị trí index trong chuỗi cha

Cú pháp

12

String chuoiCon = chuoiCha.substring(int beginIndex);

String chuoiCon = chuoiCha.substring(int beginIndex, int endIndex);

Chức năng: Hàm sẽ tạo một chuỗi con từ vị trí có chỉ số là beginIndex trong chuỗi cha. Trong cú pháp thứ 2, thì hàm sẽ tạo một chuỗi con bắt đầu từ vị trí có chỉ số là beginIndex và kết thúc tại vị trí có chỉ số endIndex - 1 trong chuỗi cha.

Ví dụ

1234567891011121314

public static void main(String[] args) {

    String chuoiCha = new String("Welcome to Freetuts.net!");

        

    

    String chuoiCon1 = chuoiCha.substring(11); 

    System.out.println(chuoiCon1);

        

    

     

     

     

    String chuoiCon2 = chuoiCha.substring(11, 19); 

    System.out.println(chuoiCon2);

}

Kết quả sau khi biên dịch chương trình :

3. Ví dụ về chuỗi

Ví dụ 1

Viết chương trình nhập từ bàn phím một chuỗi không quá 80 ký tự và một ký tự bất kể. Đếm và in ra màn hình hiển thị số lần xuất hiện của ký tự đó trong chuỗi vừa nhập .

Bài giải

1234567891011121314151617181920212223242526272829

public static void main(String[] args) {

    String chuoi;

    char kyTu;

    int count = 0;

    Scanner scanner = new Scanner(System.in);

        

    

    do {

        System.out.println("Nhập vào 1 chuỗi bất kỳ: ");

        chuoi = scanner.nextLine();

    } while (chuoi.length() > 80);

        

    System.out.println("Nhập vào ký tự cần đếm số lần xuất hiện: ");

    kyTu = scanner.next().charAt(0);

        

    

     

     

     

     

    for (int i = 0; i < chuoi.length(); i++) {

        if (kyTu == chuoi.charAt(i)) {

            count++;

        }

    }

        

    System.out.println("Số lần xuất hiện của ký tự " + kyTu +

        " trong chuỗi " + chuoi + " = " + count);

}

Kết quả sau khi biên dịch chương trình :

Ví dụ 2

Viết chương trình nhập vào một chuỗi bất kể gồm có cả số, ký tự thường và ký tự hoa từ bàn phím. Sau đó đếm và in ra số ký tự thường và ký tự hoa và số có trong chuỗi đó .

Bài giải

123456789101112131415161718192021222324252627282930313233343536373839

public static void main(String[] args) {

    String chuoi;

    int soKyTuInHoa = 0, soKyTuInThuong = 0, soChuSo = 0;

    Scanner scanner = new Scanner(System.in);

        

    

    do {

        System.out.println("Nhập vào 1 chuỗi bất kỳ: ");

        chuoi = scanner.nextLine();

    } while (chuoi.length() > 80);

        

    

    

    

    for (int i = 0; i < chuoi.length(); i++) {

        

        

        if (Character.isUpperCase(chuoi.charAt(i))) {

            soKyTuInHoa++;

        }

            

        

        

        if (Character.isLowerCase(chuoi.charAt(i))) {

            soKyTuInThuong++;

        }

            

        

        

        if (Character.isDigit(chuoi.charAt(i))) {

            soChuSo++;

        }

    }

        

    System.out.println("Trong chuỗi " + chuoi +

        " có " + soKyTuInHoa + " ký tự in hoa," +

        " có " + soKyTuInThuong + " ký tự in thường" +

        " và có " + soChuSo + " số.");

}

Kết quả sau khi biên dịch chương trình :

4. Lời kết

Đến đây, chúng ta đã kết thúc nội dung trong bài Chuỗi (String) trong Java. Cảm ơn các bạn đã xem bài viết này.

Theo : freetuts.net