Liên hệ
java

Chuỗi String trong Java

Cơ bản sử dụng đối tượng chuỗi String trong lập trình Java, các phép toán trên chuỗi, định dạng chuỗi với format và các phương thức khác

Chuỗi trong Java

Một đối tượng String dùng để lưu dữ các ký tự theo chuỗi, số ký tự lưu được không hạn chế, có thể biểu diễn chuỗi trên một dòng với cặp ký tự nháy kép "..." như "Hello" là một chuỗi dài 5 ký tự.

Ví dụ:

String s = "XuanThuLab";

Lấy độ dài của chuỗi

Đối tượng String có phương thức length() để lấy số ký tự có trong chuỗi

String stringexp = "Học Java";
int len = stringexp.length();
System.out.println( "Chiều dài chuỗi là : " + len );

Nối chuỗi trong Java

concate()

Sử dụng phương thức concat() để trả về chuỗi mới bằng cách nối 2 chuỗi. Ví dụ:

String string1 = "Học ";
String string2 = "Java";
String string3 = string1.concat(string2);
//string3: "Học Java"

Nối chuỗi bằng toán tử +

String string1 = "Học ";
String string2 = "Java";
String string3 = string1 + string2
//string3: "Học Java"

Tạo ra chuỗi định dạng với printf, format

Sử dụng hai phương thức System.out.printf()String.format() để tạo ra chuỗi định dạng, prinft thì kết quả xuất ra stream (ví dụ console), còn format thì trả về để sử dụng lại.

Cú pháp của hàm format là:

String.format("format-string" [, arg1, arg2, … ] );

"format-string" là chuỗi định dạng, trong đó có chứa các định dạng, và chuỗi tạo ra bằng cách điền tham số arg theo thứ tự tương ứng vào định dạng.

Ví dụ

String s = String.format("Học %s trong %d tuần", "Java", 2);
//s giờ bằng: "Học Java trong 2 tuần";

"Học %s trong %d tuần" là chuỗi định dạng, trong đó định dạng thứ nhất là %s cho biết chỗ này sẽ điền chuỗi vào (điền Java), định dạng thứ 2 là %d cho biết chỗ này sẽ điền số (điền 2)

Một số định dạng

%c ký tự
%d số thập phân
%e số thực dạng khoa học (3.000000e+11)
%f số thực
%i số nguyên
%o số cơ số 8
%s chuỗi
%u số thập phân không dấu
%x số cơ số 16
%% biểu diễn %
\% biểu diễn %
\n Ký tự xuống dòng

Chỉ ra chiều rộng định dạng với số nguyên

Trong chuỗi định dạng %d nếu bạn thêm một giá trị số vào ví dụ %5d có nghĩa khu vực đó sẽ để khoảng trống tối thiểu 5 ký tự khoảng trắng để điền số, số sẽ được căn về bên trái. Ví dụ    34. Nếu giá trị âm như %-5d sẽ căn về phải.

Điền số 0 vào trước

Tương tự phần trên, nếu chỉ ra định dạng theo kiểu %05d thì nếu số nhỏ hơn 5 ký tự, thì phần bên phải tự động điền thành 0. Như tham số là 34 thì kết quả sẽ là 00034

Số chữ số sau dấu chấm

Các định dạng số thực %f có thể thiết lập số chữ số sau dấu chấm, ví dụ %.1f, cũng như thiết lập độ rộng tối thiểu phần nguyên giống ở trên.

printf("'%.1f'", 10.3456);      //'10.3'
printf("'%.2f'", 10.3456);      //'10.35'
printf("'%8.2f'", 10.3456);     //'   10.35'
printf("'%08.2f'", 10.3456);	//'00010.35'

Một số phương thức trên đối tượng String

Các phương thức này hay dùng trên một đối tượng String

  • charAt(int index) trả về ký tự tại vị trí index trong chuỗi
  • concat(String s) trả về chuỗi mới bằng cách nối thêm chuỗi s
  • equalsIgnoreCase(String s) kiểm tra hai chuỗi giống nhau (không phân biệt chữ hoa/thường)
  • length() trả về chiều dài chuỗi
  • replace(char old, char new) tìm và thay thế ký tự
  • substring(int begin)/substring(int begin, int end) trả về trích xuất chuỗi con từ begin đến end
  • toLowerCase()/toUpperCase trả về chuỗi mới bằng cách đổi chữ Hoa thành thường (hoặc thường thành Hoa)
  • trim() ngắt bỏ khoảng trắng ở đầu và cuỗi
  • toCharArray() lấy mảng các ký tự
  • contains("searchString") kiểm tra có chứa một chuỗi con

Ví dụ

public class StringMethodsDemo {
    public static void main(String[] args) {
        String targetString = "Java is fun to learn";
        String s1= "JAVA";
        String s2= "Java";
        String s3 = "  Hello Java  ";

        System.out.println("Char at index 2(third position): " + targetString.charAt(2));
        System.out.println("After Concat: "+ targetString.concat("-Enjoy-"));
        System.out.println("Checking equals ignoring case: " +s2.equalsIgnoreCase(s1));
        System.out.println("Checking equals with case: " +s2.equals(s1));
        System.out.println("Checking Length: "+ targetString.length());
        System.out.println("Replace function: "+ targetString.replace("fun", "easy"));
        System.out.println("SubString of targetString: "+ targetString.substring(8));
        System.out.println("SubString of targetString: "+ targetString.substring(8, 12));
        System.out.println("Converting to lower case: "+ targetString.toLowerCase());
        System.out.println("Converting to upper case: "+ targetString.toUpperCase());
        System.out.println("Triming string: " + s3.trim());
        System.out.println("searching s1 in targetString: " + targetString.contains(s1));
        System.out.println("searching s2 in targetString: " + targetString.contains(s2));

        char [] charArray = s2.toCharArray();
        System.out.println("Size of char array: " + charArray.length);
        System.out.println("Printing last element of array: " + charArray[3]);

    }

}

Kết quả

Vui lòng đăng ký ủng hộ kênh