1. Chuỗi là gì?

– Chuỗi là dãy các ký tự được đặt trong cặp dấu “ ”, mỗi ký tự được gọi là phần tử của chuỗi.

– Số lượng ký tự của một chuỗi được gọi là độ dài của chuỗi.

– Chuỗi có độ dài bằng 0 được gọi là chuỗi rỗng, viết là:  “”

Ví dụ:

2. Khai báo chuỗi

Cú pháp khai báo:

String <tên chuỗi>;

Hoặc

String <tên chuỗi>=“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 ” “.

Dùng từ khoá new:

String <tên chuỗi>=  new String(“giá_trị”);

Ví dụ:

String st;

String st1 = “Java”;

String st2 = new String(“Lap trinh”);

3. Các phương thức xử lý chuỗi

a. Phương thức length()

Cú pháp: <tên chuỗi>.length();

Ý nghĩa: Trả về độ dài chuỗi.

Ví dụ:

st = “Song Hong”;

System.out.print(st.length());

Kết quả: 9

b. Phương thức charAt()

Cú pháp: <tên chuỗi>.charAt(int index);

Ý nghĩa: Trả về ký tự trong chuỗi có chỉ số là index.

Ví dụ:

String st = “Hello Java”;

System.out.println(st.charAt(4));

Kết quả: o

c. Phương thức concat()

Cú pháp: st1.concat(String st2);

Ý nghĩa: Phương thức có tác dụng nối chuỗi st2 vào cuối chuỗi st1 .

Ví dụ:

String st1 = “Lap trinh”;

System.out.println(st1.concat(” Java”));

Kết quả: Lap trinh Java”

d. Phương thức compareTo()

Cú pháp: st1.compareTo(String st2);

Ý nghĩa: Trả về một số nguyên là kết quả so sánh hai chuỗi st1, st2. Nếu hai chuỗi đó bằng nhau thì kết quả bằng 0, nếu chuỗi st1 < st2 thì kết quả là số âm, ngược lại nếu chuỗi st1 > st2 thì kết quả là số dương.

Cách thực hiện so sánh:

  • Hai chuỗi được coi là bằng nhau nếu như chúng giống nhau hoàn toàn.

Ví dụ:

public class VDCompareTo {

public static void main(String[] args) {

String st1 = “AB”;

String st2 = “AB”;

System.out.println(st1.compareTo(st2));

}

}

Kết quả: 0

  • Nếu st1 và st2 là các chuỗi có độ dài khác nhau và st1 là đoạn đầu của st2 thì st1

Ví dụ:

public class VDCompareTo {

public static void main(String[] args) {

String st1 = “AB”;

String st2 = “ABCEFGH”;

System.out.println(st1.compareTo(st2));

}

}

Kết quả: -5

  • Chuỗi st1 > st2 nếu kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong chuỗi st1 có mã ASCII lớn hơn. (Kết quả số nguyên trả về là giá trị mã ASCII chênh lệch)

Ví dụ:

public class VDCompareTo {

public static void main(String[] args) {

String st1 = “AD”;//D:68

String st2 = “AB”;//B:66

System.out.println(st1.compareTo(st2));

}

}

Kết quả: 2

e. Phương thức indexOf()

Cú pháp: st1.indexOf(String st2 [,int fromIndex]);

Ý nghĩa: Trả về một số nguyên là vị trí xuất hiện đầu tiên của chuỗi st2 trong st1 hoặc bắt đầu tử chỉ số fromIndex nếu có. Nếu chuỗi st2 không có trong chuỗi st1 thì kết quả trả về -1.

Ví dụ:

public class VDIndexOf {

public static void main(String[] args) {

String st1 = “ABCDEFCD”;

System.out.println(st1.indexOf(“CD”));

System.out.println(st1.indexOf(“CD”,4));

System.out.println(st1.indexOf(‘E’));

}

}

Kết quả:

2

6

4

f. Phương thức lastIndexOf()

Cú pháp: st1.lastIndexOf(String st2);

Ý nghĩa: Trả về một số nguyên là vị trí xuất hiện cuối cùng của chuỗi st2 trong st1. Nếu chuỗi st2 không có trong chuỗi st1 thì kết quả trả về -1.

Ví dụ:

public class VDLastIndexOf {

public static void main(String[] args) {

String st1 = “ABCDEFCD”;

System.out.println(st1.lastIndexOf(“CD”));

System.out.println(st1.lastIndexOf(‘G’));

}

}

Kết quả:

6

-1

g. Phương thức replace()

Cú pháp: st1.replace(char oldChar, char newChar);

Ý nghĩa: Thực hiện thay thế ký tự oldChar bằng ký tự newChar trong chuỗi st1. Nếu ký tự cần thay thế không có trong chuỗi st1 thì chương trình sẽ trả về chuỗi st1.

Ví dụ:

public class VDReplace {

public static void main(String[] args) {

String st1 = “Lap trinh Python,Lap trinh Python”;

System.out.println(st1.replace(“Python”,”Java”));

System.out.println(st1.replace(‘ ‘,’-‘));

}

}

Kết quả:

Lap trinh Java,Lap trinh Java

Lap-trinh-Python,Lap-trinh-Python

Lưu ý: Phương thức replaceAll(): tương tự như phương thức replace() nhưng chỉ thực hiện thay thế chuỗi.

Phương thức replaceFirst(): tương tự như phương thức replaceAll() nhưng chỉ thực hiện thay thế chuỗi con đầu tiên có trong st1.

public class VDReplace {

public static void main(String[] args) {

String st1 = “Lap trinh Python,Lap trinh Python”;

System.out.println(st1.replaceFirst(“Python”,”Java”));

System.out.println(st1.replaceFirst(” “,”-“));

}

}

Kết quả:

Lap trinh Java,Lap trinh Python

Lap-trinh Python,Lap trinh Python

h.  Phương thức split()

Cú pháp:  st1.split(String st2, int limit)

Ý nghĩa: Trả về một mảng các chuỗi con bằng cách tách các phần tử trong chuỗi st1 bằng chuỗi st2.

limit: kiểm soát số lượng các chuỗi con kết quả.

MangSo[8]=17
Ví dụ:
MangSo

Ví dụ:

public class VDSplit {

public static void main(String[] args) {

String st1 = “Hello Java Hello Java”;

String[] a = st1.split(” “);

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

System.out.println(a[i]);

}

}

}

Kết quả:

Hello

Java

Hello

Java

MangSo[8]=17
Ví dụ:
MangSo

Ví dụ:

public class VDSplit {

public static void main(String[] args) {

String st1 = “Hello Java Hello Java”;

String[] a = st1.split(” “,2);

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

System.out.println(a[i]);

}

}

}

Kết quả:

Hello

Java Hello Java

i. Phương thức substring()

Cú pháp: st.substring(int startIndex [, int endIndex]);

Ý nghĩa: Tạo một chuỗi con từ vị trí có chỉ số là stratIndex trong chuỗi st. Trong trường hợp có endIndex, thì phương thức sẽ tạo một chuỗi con bắt đầu từ vị trí có chỉ số là startIndex và kết thúc tại vị trí có chỉ số endIndex – 1 trong chuỗi st.

Ví dụ:
MangSo

Ví dụ:

public class VDSubstring {

public static void main(String[] args) {

String st = “Mai Van Ha”;

System.out.println(st.substring(4));

System.out.println(st.substring(4,9));

}

}

Kết quả:

Van Ha

Van H

j. Phương thức trim()

Cú pháp: st.trim();

Ý nghĩa: Thực hiện sẽ loại bỏ các khoảng trắng thừa ở đầu và cuối chuỗi st. 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ụ:
MangSo

Ví dụ:

public class VDtrim {

public static void main(String[] args) {

String st = ”   Lap trinh   “;

System.out.println(st+”Java”);

System.out.println(st.trim()+”Java”);

}

}

Kết quả:

Lap trinh   Java

Lap trinhJava

k. Phương thức toUpperCase()

Cú pháp: st.toUpperCase();

Ý nghĩa: Trả về một chuỗi với tất cả các kí tự được chuyển thành các kí tự viết hoa.

Ví dụ:
MangSo

Ví dụ:

public class VDInhoa {

public static void main(String[] args) {

String st = “Hello Java”;

System.out.println(st.toUpperCase());

}

}

Kết quả:

HELLO JAVA

l. Phương thức toLowerCase()

Cú pháp: st.toLowerCase();

Ý nghĩa: Trả về một chuỗi với tất cả các kí tự được chuyển thành các kí tự viết thường.

Ví dụ:
MangSo

Ví dụ:

public class VDInthuong {

public static void main(String[] args) {

String st = “Hello Java”;

System.out.println(st.toLowerCase());

}

}

Kết quả:

hello java