Chuỗi là tập các kí tự đứng liền nhau được giới hạn trong dấu ngoặc kép như:”hello word”;”hoc.itop.vn”…

Sau đây chúng ta hãy cùng tìm hiểu các vấn đề về chuỗi trong java.



1. Khai báo và khởi tạo

Java cung cấp các kiểu khai báo và khởi tạo string như sau:

· Khai báo một xâu rỗng

Ví dụ: String str1=new String( ); //khởi tạo str1 là một xâu trống

· Khai báo và khởi tạo một xâu bằng một chuỗi cho trước.

Ví dụ: String str2=new String(“Hello word”); //khởi tạo str2 bằng “Hello word”

· Khai báo và khởi tạo một xâu bằng một mảng kí tự cho trước.

Ví dụ: char ch[ ]={‘a’,’b’,’c’,’d’,’e’};

String str3=new String[ch];

Kết quả str3 là xâu “abcde”

· Khai báo và khởi tạo một xâu bằng cách chọn một vài kí tự trong một mảng kí tự cho trước.

Ví dụ: char ch[ ]={‘a’,’b’,’c’,’d’,’e’};

String str4=new String[ch,0,2];

Kết quả str4 là xâu “ab” , vì khởi tạo này sẽ khởi tạo xâu str4 là lấy 2 kí tự từ vị trí thứ 0.

2. Thao tác nối chuỗi(cộng 2 chuỗi)

· Cộng 2 chuỗi bằng dấu cộng (+)

Ví dụ: String str1=new String(“Hello word”);

System.out.printf(“toi muon noi ”+str1);

Kết quả của đoạn mã trên sẽ in ra dong chữ: “toi muon noi Hello word”

Chú ý:java có khả năng tự chuyển bất cứ dữ liệu kiểu số nào khi cộng vào String.

Ví dụ: int n=100;

Float m=100.123;

System.out.printf(“so nguyen la ”+n+”so thuc la “+m);

Kết quả sẽ in ra chuỗi số: “so nguyen la 100 so thuc la 100.123” có nghĩa là java sẽ chuyển n và m thành kiểu string rồi sau đó sẽ nối vào chuỗi phía trước.

Khi cộng chuỗi bằng dấu cộng ,kết quả sẽ đưa ra bằng cách nỗi 2 chuỗi vào vị trí cuối cùng của chuỗi đầu tiên.

Cách nối chuỗi này thường được sử dụng khi in ra màn hình hoặc chuyển kiểu dữ liệu số sang string.

· Nối 2 chuỗi bằng phương thức concat( )

Khác với việc nối chuỗi bằng dấu cộng là nối 2 chuỗi tại vị trí cuối cùng của chuỗi đầu tiên.thay vào đó phương thức này sẽ trả về một chuỗi mới.

Ví dụ: String str1,str2,str3;

str1=”Welcome”;

str2=”hoc.itop.vn”;

str3=str1.concat(str2);

kết quả là str3 sẽ bằng “Welcome hoc.itop.vn”

3. Các hàm xử lí với chuỗi trong java

· substring

ví dụ: String str1=new String(“hoc.itop.vn”);

String str2=str1.substring(0,3);

Kết quả là str2 bằng “hoc”.có nghĩa là phương thức substring sẽ lấy 3 kí tự trong xâu str1 bắt đầu từ kí tự thứ 0.

· length

trả về độ dài chuỗi

ví dụ: String str1=new String(“hoc.itop.vn”);

int n=str1.length( );

kết quả là n=11 nghĩa là phương thức length( ) sẽ trả về độ dài xâu kí tự

· charAt

ví dụ: String str1=new String(“itop.vn”);

char ch=str1.charAt(3);

kết quả là ch=’p’ nghĩa là phương thức charAt( 3) sẽ trả về kí tự thứ 3 tính từ vị trí thư 0 trong xâu str1

· equals

phương thức này so sánh 2 chuỗi.kết quả trả về có kiểu boolean

ví dụ: String str1=new String(“hello”);

String str2=new String(“ITOP”);

Boolean k=str1.equals(str2);

Kết quả trả về là k=false nghĩa là phương thức equals sẽ so sánh từng kí tự trong 2 chuỗi.

Chú ý là trong java có phân biệt kiểu chữ hoa và chữ thường như:”iTop”#”ITOP”

· compareTo

so sánh 2 chuỗi lần lượt thứ tự từng kí tự của 2 chuỗi nghĩa là:

int a=str1.compareTo(str2);

a=0 nếu s2=s1

a>0 nếu s2>s1

a<0 nếu s2<s1

ví dụ: String str1=new String(“kc”);

String str2=new String(“kavcb”);

int a=str1.compareTo(str2);

kết quả là a>0 vì “kc”>”kavcb”

· toCharArray

là phương thức đổi chuỗi thành mảng kí tự.

ví dụ: String str1==new String(“itop.vn”);

char [ ] ch=str1.toCharArray( );

kết quả là mảng ch={‘i’,’t’,’o’,’p’,’.’,’v’,’n’}

· indexOf

ví dụ: String str1=new String(“hoc.itop.vn”);

String str2=new String(“op”);

String str3=new String(“ab”);

int n=str1.indexOf(str2);

int m=str1.indexOf(str3);

kết quả là n=7 và m=-1 nghĩa là phương thức này sẽ trả về vị trí của chuỗi str2 và str3 trong chuỗi str1.nếu không tìm thấy sẽ trả về giá trị -1

· startsWith( )

trả về giá trị kiểu boolean

ví dụ: String str1=”hoc.itop.vn”;

String str2=”hoc”;

boolean k=str1.startsWith(str2);

kết quả là k=true nghĩa là phương thức này sẽ kiểm tra xem chuỗi một có bắt đầu bằng chuỗi 2 hay không

· endsWith( )

cũng như hàm startsWith( ) kết quả trả về là kiểu boolean.

Ví dụ: String str1=”hoc.itop.vn”;

String str2=”com”;

boolean k=str1.endsWith(str2);

kết quả là k=false nghĩa là hàm này sẽ kiểm tra xem chuỗi str1 có kết thúc là chuỗi str2 hay không.

· copyValueOf( )

phương thức này trả về một chuỗi được rút ra từ một mảng kí tự.

ví dụ: char ch[ ]={‘a’,’b’,’c’,’d’,’e’);

String str1=String.copyValueOf(2,2);

Kết quả là str1=”cd” nghĩa là xâu str1 được rút ra từ mảng ch bằng cách lấy 2 phần tử của mảng và lấy từ vị trí thứ 2.

· toUpperCase( )

phương thức này sẽ trả về chữ hoa của chuỗi

ví dụ: String str1=”hello”;

String str2=str1.toUpperCase( );

Kết quả là str2=”HELLO”;

· toLowerCase( )

phương thức này sẽ trả về chữ thường của chuỗi

ví dụ: String str1=”hello”;

String str2=str1.toLowerCase( );

Kết quả là str2=”hello”;

· chuyển kiểu dữ liệu từ String sang số

các phương thức chuyển kiểu dữ liệu từ String sang số nằm trong gói thư viện java.lang ta có bảng các phương thức như sau:
[IMG]Click here to enlarge[/IMG]

Ví dụ: String str1=new String(“124”);

int n=Integer.parseInt(str1);

kết quả là n=124