[LTM] Chương 3.4: Lớp String và StringBuffer, Math

Người đăng: share-nhungdieuhay on Thứ Hai, 24 tháng 3, 2014

Xử lý chuỗi
Java cung cấp 2 lớp: 
  • String: dùng cho xâu ký tự bất biến (giá trị được khởi tạo ban đầu và không thay đổi; chỉ đọc)
  • StringBuffer: dùng cho xâu ký tự động, thay đổi tùy ý.
String class
Khởi tạo xâu: 
String str=“cong hoa xa hoi” (ko dung constructor)
Dùng toán tử new:
String str= new String(“cong hoa”);
String str= new String(mang); nhập xâu từ mảng
String str= new String(buff); buff là chuỗi động
Độ dài xâu: int length()
Ký tự thứ i: char charAt(int i)
Hoa: String toUperCase(), 
Chữ thường: String toLowerCase()
Xâu bắt đầu là s: boolean startWith(String s)
Xâu kết thúc là s: boolean endWith(String s)

Methods: ghép, so sánh
1. Ghép xâu: String concat(String s) hoặc dùng +
2. So sánh xâu
boolean equals(Object obj)
boolean equalsIgnoreCase(String str2)
int compareTo(String str2)
int compareTo(Object obj)
Ex: 
String str1=new String("hello"); 
String str2=new String("Hello"); 
String str3=new String("hello all");
boolean b1= str1.equals(str2);
boolean b2=str1.equalsIgnoreCase (str2);
int c1=str1.compareTo(str3);
String str4=str1.concat(str2);

Method: xâu con 
1. Vị trí xuất hiện đầu tiên/cuối cùng của ch (bắt đầu từ start)
  • indexOf(int ch); lastindexOf(int ch); 
  • indexOf(int ch, int start); lastindexOf(int ch, int start)
2. Vị trí xuất hiện đầu tiên/cuối cùng  của xâu con str (bắt đầu từ start)
  • indexOf(String str); lastindexOf(String str); 
  • indexOf(String str, int start); lastindexOf(String str, int start); 
3. Thay thế: 
  • String replace(char old, char new);
  • String replaceAll(String src, String dst)



Method: trích xâu con
  • Lấy xâu con từ vị trí start đến cuối (đến end): String substring(int start);+String substring(int start, int end);
  • Chuyển các đối tượng của Object về String :static String valueOf(Object obj); Object có thể là các giá trị kiểu nguyên thủy
  • Ngoại lệ: StringIndexOutOfBoundsException

StringBuffer class
Tạo lập:
  • StringBuffer(String str); đối tượng mới =str
  • StringBuffer(int len); đối tượng mới rỗng dài len
  • StringBuffer(); đối tượng mới rỗng dài 16 (defa
Ex: StringBuffer strbuf=new StringBuffer(s1)
Chiều dài xâu: int length()
đọc 1 ký tự tại i: char charAt(int i):
thay đổi ký tự tại i thành ch
void setCharAt(int I, char ch)
Chuyển xâu buffer về xâu của lớp String
String toString()
Thay thế: 
StringBuffer replace(int start, int end, String str) 
 Lấy xâu con:
String substring(int start);
String substring(int start, int end);


Thay đổi trong StringBuffer (private)

Thêm một chuỗi (object) vào cuối chuỗi:
StringBuffer append(Object obj): 
Chèn một chuỗi (Object) vào từ vị trí offset
StringBuffer insert(int offset, Object obj)
Xóa một chuỗi trong chuỗi hiện hành từ vị trí start đến cuối (đến vị trí end):
StringBuffer delete(int i) (ko dùng)
StringBuffer delete(int start, int end) 
Đảo ngược một chuỗi: StringBuffer reverse()
Đặt lại độ dài xâu: void setLength(int newlen)
ex
StringBuffer strbf= new StringBuffer(“hello everyone”);
StringBuffer strbfap=strbf.append(“xxxx”);
StringBuffer strbfin=strbf.insert(3, str3);
StringBuffer strbfde=strbf.delete(2,2);
StringBuffer strbfre=strbf.reverse();

String vs. Byte Array
Obtaining the Characters in a String as an Array of Bytes
String text = "To be or not to be"; byte[] textArray = text.getBytes();
Construct string from subset of char array
byte ascii[] ={65, 66, 67, 68, 69, 70 };
String s1 = new String(ascii);
String s2 = new String(ascii, 2, 3);

Char array vs String
Converting Char array to String
char[] ch = {'a','b','c','d'}; System.out.println(String.valueOf(ch));

String text = "To be or not to be"; char[] textArray = text.toCharArray();





{ 0 nhận xét... read them below or add one }

Đăng nhận xét