LẬP TRÌNH JAVA - Chapter 7

Chia sẻ: Vo Hoang Huynh | Ngày: | Loại File: PPT | Số trang:36

0
81
lượt xem
39
download

LẬP TRÌNH JAVA - Chapter 7

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khảo về CNTT

Chủ đề:
Lưu

Nội dung Text: LẬP TRÌNH JAVA - Chapter 7

  1. LẬP TRÌNH JAVA Chương 7: String Phạm Quang Dũng BM KHMT - Khoa CNTT - Trường ĐHNN I
  2. Nội dung chương 7 Xử lý chuỗi ký tự sử dụng các lớp String,StringBuffer, và StringTokenizer: 3 Sử dụng lớp String để xử lý các chuỗi cố định. 3 Sử dụng các phương thức static trong lớp Character. 3 Sử dụng lớp StringBuffer để xử lý các chuỗi linh động. 3 Sử dụng lớp StringTokenizer để trích chuỗi con. 3 Sử dụng các đối số dòng lệnh (command-line arguments).
  3. Lớp String 3 Xây dựng chuỗi: – String message = "Welcome to Java!" – String message = new String("Welcome to Java!“); – String s = new String(); 3 Lấy độ dài chuỗi và lấy các ký tự cụ thể trong chuỗi. 3 Ghép chuỗi (concat) 3 Chuỗi con (substring(index), substring(start, end)) 3 So sánh (equals, compareTo) 3 String Conversions 3 Tìm 1 ký tự hoặc chuỗi con trong 1 chuỗi 3 Chuyển đổi giữa Strings và Arrays 3 Chuyển đổi các ký tự và các g/t số thành chuỗi
  4. String +String() +String(value: String) +String(value: char[]) +charAt(index: int): char +compareTo(anotherString: String): int +compareToIgnoreCase(anotherString: String): int +concat(anotherString: String): String +endsWithSuffixe(suffix: String): boolean +equals(anotherString: String): boolean +equalsIgnoreCase(anotherString: String): boolean +indexOf(ch: int): int +indexOf(ch: int, fromIndex: int): int +indexOf(str: String): int +indexOf(str: String, fromIndex: int): int +intern(): String +regionMatches(toffset: int, other: String, offset: int, len: int): boolean +length(): int +replace(oldChar: char, newChar: char): String +startsWith(prefix: String): boolean +subString(beginIndex: int): String +subString(beginIndex: int, endIndex: int): String +toCharArray(): char[] +toLowerCase(): String +toString(): String +toUpperCase(): String +trim(): String +copyValueOf(data: char[]): String +valueOf(c: char): String +valueOf(data: char[]): String +valueOf(d: double): String +valueOf(f: float): String +valueOf(i: int): String +valueOf(l: long): String
  5. Xây dựng chuỗi String newString = new String(stringLiteral); Vd: String message = new String("Welcome to Java!"); 3 Vì chuỗi được sử dụng thường xuyên, Java cung cấp lệnh ngắn để tạo chuỗi: String message = "Welcome to Java!"; 3 Cũng có thể tạo chuỗi từ mảng các ký tự: char[] charArr = {'G','o','o','d',' ','d','a','y'} String message = new String(charArr);
  6. Các chuỗi là không thể thay đổi  CHÚ Ý: Một đối tượng String là không thể thay đổi nội dung. Xét ví dụ sau: String s = "Java"; s = "HTML"; Vd trên: đối tượng String lưu chuỗi "Java" vẫn tồn tại nhưng không được tham chiếu bởi biến nào cả.  Nếu sử dụng lệnh tắt tạo 2 đối tượng String với cùng nội dung, JVM lưu 2 đối tượng đó vào trong cùng một đối tượng để cải thiện hiệu năng và tiết kiệm bộ nhớ.  Do đó, người ta thường sử dụng lệnh tắt để tạo các chuỗi.
  7. Các chuỗi là không thể thay đổi (tiếp)  CHÚ Ý: Một chuỗi được tạo bởi lệnh tắt được coi là một canonical string (chuỗi hợp quy tắc tiêu chuẩn).  Bạn có thể sử dụng phương thức intern của lớp String để trả về một canonical string, tương tự như string được tạo bởi lệnh tắt.
  8. Ví dụ String s = "Welcome to Java!"; String s1 = new String("Welcome to Java!"); String s2 = s1.intern(); System.out.println("s1 == s is " + (s1 == s)); System.out.println("s2 == s is " + (s2 == s)); System.out.println("s1 == s2 is " +(s1 == s2)); Hiển thị: s1 == s is false s2 == s is true s1 == s2 is false
  9. Lấy độ dài chuỗi Sử dụng phương thức length() : message = "Welcome"; message.length() (returns 7)
  10. Lấy các ký tự trong chuỗi 3 Không sử dụng message[0] 3 Mà dùng message.charAt(index) 3 Chỉ số (index) bắt đầu từ 0 Indices 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 message W e l c o m e t o J a v a message.charAt(0) message.length() is 15 message.charAt(14)
  11. Ghép chuỗi String s3 = s1.concat(s2); String s3 = s1 + s2;
  12. Trích chuỗi con String là một lớp không thể thay đổi; giá trị của nó không bị thay đổi một cách riêng lẻ. String s1 = "Welcome to Java"; String s2 = s1.substring(0, 11) + "HTML"; Indices 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 message W e l c o m e t o J a v a message.substring(0, 11) message.substring(11)
  13. So sánh chuỗi 3 equals String s1 = "Welcome to Java!"; String s2 = new String("Welcome to Java!"; if (s1.equals(s2)){ // s1 and s2 have the same contents } if (s1 == s2) { // s1 and s2 have the same reference } Chú ý: s1.equals(s2) là True khi và chỉ khi s1.intern() == s2.intern().
  14. So sánh chuỗi (tiếp) 3 compareTo(Object object) String s1 = "Welcome"; String s2 = "welcome"; if (s1.compareTo(s2) > 0) { // s1 is greater than s2 } else if (s1.compareTo(s2) == 0) { // s1 and s2 have the same reference } else // s1 is less than s2
  15. String Conversions Nội dung của một chuỗi không thể thay đổi mỗi khi chuỗi được tạo. Nhưng bạn có thể convert một chuỗi thành một chuỗi mới bằng cách sử dụng các phương thức sau: "Welcome".toLowerCase() "Welcome".toUpperCase() " Welcome ".trim() "Welcome".replace('e','A') "Welcome".replaceFirst('e','A') "Welcome".replaceAll('e','A')
  16. Tìm ký tự và chuỗi con Sử dụng các phương thức sau: public int indexOf(int ch) public int lastIndexOf(int ch) public int indexOf(int ch, int fromIndex) public int lastIndexOf(int ch, int endIndex) public int indexOf(String str) public int lastIndexOf(String str) public int indexOf(String ch, int fromIndex) public int lastIndexOf(String str, int endIndex)
  17. Ví dụ "Welcome to Java!".indexOf('W') returns 0. "Welcome to Java!".indexOf('x') returns -1. "Welcome to Java!".indexOf('o', 5) returns 9. "Welcome to Java!".indexOf("come") returns 3. "Welcome to Java!".indexOf("Java", 5) returns 11. "Welcome to Java!".indexOf("java", 5) returns -1.
  18. Chuyển đổi ký tự và số thành chuỗi  char[] chars = "Java".toCharArray();  String str = new String(new char[] {'J','a','v','a'});  Lớp String cung cấp một số phương thức static valueOf để chuyển đổi một ký tự, mảng ký tự, và các giá trị số thành chuỗi.  Những phương thức này có cùng tên valueOf với tham số khác nhau có kiểu char, char[], double, long, int, và float. String str = String.valueOf(5.44); String str = String.valueOf(new char[] {'J','a','v','a'});
  19. Ví dụ 7.1: Tìm chuỗi đối xứng 3 Mục tiêu: Kiểm tra xem một chuỗi có đối xứng hay không. CheckPalindrome
  20. Lớp Character Character +Character(value: char) +charValue(): char +compareTo(anotherCharacter: Character): int +equals(anotherCharacter: Character): boolean +isDigit(ch: char): boolean +isLetter(ch: char): boolean +isLetterOrDigit(ch: char): boolean +isLowerCase(ch: char): boolean +isUpperCase(ch: char): boolean +toLowerCase(ch: char): char +toUpperCase(ch: char): char
Đồng bộ tài khoản