Chào các bạn đã đến với chủ đề tiếp theo của mình. Hôm nay, mình sẽ tiếp tục tìm hiểu về kiểu dữ liệu String trong Java. Ở bài này, mình sẽ đi qua những nội dung như sau:
Nội dung
- 1. String là gì? Tại sao lại sử dụng String?
- 2. Cú pháp
- 3. Nối chuỗi trong Java
- 4. Một số phương thức của String trong Java
- 4.1. Phương thức length()
- 4.2. Phương thức charAt(int index)
- 4.3. Phương thức compareTo(String st)
- 4.4. Phương thức compareToIgnoreCase(String st)
- 4.5. Phương thức concat
- 4.6. Phương thức contains(CharSequence s)
- 4.7. Phương thức indexOf(int ch)
- 4.8. Phương thức indexOf(String st)
- 4.9. Phương thức equals(Object obj)
- 4.10. Phương thức equalsIgnoreCase(String str)
- 4.11. Phương thức startsWith(String prefix)
- 4.12. Phương thức endsWith(String suffix)
- 4.13. Phương thức isEmpty()
- 4.14. Phương thức replace(char oldChar, char newChar)
- 4.15. Phương thức substring (int beginIndex)
- 4.16. Phương thức substring (int beginIndex, int endIndex)
- 4.17. Phương thức toLowerCase()
- 4.18. Phương thức toUpperCase()
- 4.19. Phương thức trim()
- 4.20. Phương thức split(String regex)
- 5. In ký tự đặc biệt
- 6. Kết
1. String là gì? Tại sao lại sử dụng String?
String được định nghĩa là một chuỗi hoặc một mảng ký tự. String trong Java không phải là một kiểu dữ liệu nguyên thủy mà là một đối tượng của lớp class String. String trong Java là một trong những lớp phổ biến nhất và được sử dụng rộng rãi trong lập trình Java. Trong Automation, 90% chúng ta sẽ làm việc với kiểu dữ liệu String. Vì vậy, các bạn hãy xem kỹ topic này nhé.
2. Cú pháp
Có 2 cách để khai báo String trong Java:
Cách 1: Bằng cách sử dụng một chuỗi ký tự. Đây là cách phổ biến nhất để tạo Chuỗi. Java String có thể được tạo chỉ bằng cách sử dụng dấu ngoặc kép.
String myString = “Hello World” ;
Cách 2: Bằng cách sử dụng từ khóa “new”. Java String cũng có thể được tạo bằng cách sử dụng một từ khóa mới với hàm tạo String.
String line = new String(“Welcome to Java”);
3. Nối chuỗi trong Java
Nối chuỗi là sự kết hợp của ít nhất 2 chuỗi:
- Nếu chúng ta cộng hai chuỗi
'Hello'
và'World'
lại với nhau, chúng ta sẽ có một kết quả nhưstr3 = 'HelloWorld'
Có 2 cách để nối chuỗi trong java, cách đầu tiên là dùng phương thức concat (), cách thứ 2 là sử dụng toán tử +
public class HelloWorld{
public static void main(String[] args){
//String Concatenation
String str1 = "Hello";
String str2 = "World";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}
4. Một số phương thức của String trong Java
4.1. Phương thức length()
Phương thức này trả về chiều dài của chuỗi – là số ký tự của một chuỗi
public static void main(String[] args){
String varString = "Hello World";
System.out.println(varString.length());
// Trả về 11
}
4.2. Phương thức charAt(int index)
Phương thức này trả về 1 ký tự tương ứng với chỉ số index trong chuỗi khai báo
public static void main(String[] args){
String varString = "Hello World";
System.out.println(varString.charAt(6));
// Trả về ký tự W
}
4.3. Phương thức compareTo(String st)
Phương thức này dùng để so sánh 2 chuỗi có phân biệt hoa thường.
- Kết quả trả về số âm khi chuỗi 1 < chuỗi 2
- Kết quả = 0 khi chuỗi 1 = chuỗi 2
- Kết quả trả về số dương khi chuỗi 1 > chuỗi 2
public static void main(String[] args){
String varString1 = "Hello World";
String varString2 = "hello World";
System.out.println(varString1.compareTo(varString2));
// Trả về -32 vì ký tự 'H' của biến String1 có mã 72, còn ký tự 'h' trong chuỗi String2 có mã 104
}
4.4. Phương thức compareToIgnoreCase(String st)
Phương thức này dùng để so sánh 2 chuỗi không phân biệt hoa thường.
public static void main(String[] args){
String varString1 = "Hello World";
String varString2 = "hello World";
System.out.println(varString1.compareToIgnoreCase(varString2));
// Kết quả trả về 0
}
4.5. Phương thức concat
Phương thức này dùng để nối 2 chuỗi:
public static void main(String[] args){
String varString1 = "Hello World";
String varString2 = "123456789";
System.out.println(varString1.concat(varString2));
// Kết quả trả về Hello World123456789
}
4.6. Phương thức contains(CharSequence s)
Phương thức này dùng để kiểm tra chuỗi 2 có xuất hiện trong chuỗi 1 hay không?
Kết quả sẽ trả về true nếu chuỗi 1 contains chuỗi 2. Ngược lại sẽ trả về false
public static void main(String[] args){
String varString1 = "Hello World 123";
String varString2 = "Hello World";
System.out.println(varString1.contains(varString2));
// Kết quả trả về true vì String 1 contain String2
}
4.7. Phương thức indexOf(int ch)
Trả về 1 số nguyên là vị trí xuất hiện đầu tiên của ký tự có giá trị mã Unicode. Nếu không tìm thấy thì kết quả sẽ trả về -1
public static void main(String[] args){
String varString = "Hello World";
System.out.println(varString.indexOf(68));
// Kết quả trả về -1 vì mã 68 là ký tự 'A" vì ký tự này không xuất hiện trong chuỗi String trên
System.out.println(varString.indexOf(87));
// Kết quả trả về 6 vì mã 87 là ký tự 'W'.
}
4.8. Phương thức indexOf(String st)
Phương thức này cũng tương tự như trên, chỉ khác là giá trị truyền vào là kiểu String
public static void main(String[] args){
String varString = "Hello World";
System.out.println(varString.indexOf("lo"));
// Kết quả trả về 3
}
4.9. Phương thức equals(Object obj)
Phương thức này dùng để so sánh 2 chuỗi có phân biệt hoa thường, nếu giống nhau thì trả về true, ngược lại sẽ trả về false
public static void main(String[] args){
String varString1 = "Hello World";
String varString2 = "hello world";
System.out.println(varString1.equals(varString2));
// Kết quả trả về false
}
4.10. Phương thức equalsIgnoreCase(String str)
Phương thức này dùng để so sánh 2 chuỗi không phân biệt hoa thường, nếu giống nhau thì trả về true, ngược lại sẽ trả về false
public static void main(String[] args){
String varString1 = "Hello World";
String varString2 = "hello world";
System.out.println(varString1.equalsIgnoreCase(varString2));
// Kết quả trả về true
}
4.11. Phương thức startsWith(String prefix)
Phương thức này dùng để kiểm tra xem chuỗi cha có bắt đầu bằng 1 chuỗi con hay không. Kết quả trả về true nếu đúng, ngược lại thì trả về false
public static void main(String[] args){
String varString1 = "Hello World";
String varString2 = "Hello";
System.out.println(varString1.startsWith(varString2));
// Kết quả trả về true
}
4.12. Phương thức endsWith(String suffix)
Phương thức này dùng để kiểm tra xem chuỗi cha có kết thúc bằng 1 chuỗi con hay không. Kết quả trả về true nếu đúng, ngược lại thì trả về false
public static void main(String[] args){
String varString1 = "Hello World";
String varString2 = "Hello";
System.out.println(varString1.endsWith(varString2));
// Kết quả trả về false
}
4.13. Phương thức isEmpty()
Phương thức này sẽ trả về true nếu chuỗi có kích thước = 0, ngược lại sẽ trả về false
public static void main(String[] args){
String varString1 = "Hello World";
System.out.println(varString1.isEmpty());
// Kết quả trả về false
String varString2 = "";
System.out.println(varString2.isEmpty());
// Kết quả trả về true
}
4.14. Phương thức replace(char oldChar, char newChar)
Phương thức này dùng để thay thế tất cả các ký tự oldChar trong chuỗi hiện thời bằng các ký tự newChar và trả về chuỗi mới tương ứng
public static void main(String[] args){
String varString1 = "a1a2a3";
System.out.println(varString1.replace("a", "A"));
// Kết quả trả về A1A2A3
}
4.15. Phương thức substring (int beginIndex)
Phương thức này dùng để trả về 1 chuỗi con trong chuỗi hiện thời bắt đầu từ vị trí beginIndex
public static void main(String[] args){
String varString1 = "Hello World";
System.out.println(varString1.substring(6));
// Kết quả trả về World
}
4.16. Phương thức substring (int beginIndex, int endIndex)
Phương thức này dùng để trả về 1 chuỗi con trong chuỗi hiện thời bắt đầu từ vị trí beginIndex đến vị trí endIndex – 1
public static void main(String[] args){
String varString1 = "Hello World";
System.out.println(varString1.substring(0, 6));
// Kết quả trả về Hello
}
4.17. Phương thức toLowerCase()
Phương thức này dùng để convert tất cả các ký tự trong chuỗi hiện thời sang chữ thường
public static void main(String[] args){
String varString1 = "Hello World";
System.out.println(varString1.toLowerCase());
// Kết quả trả về hello world
}
4.18. Phương thức toUpperCase()
Phương thức này dùng để convert tất cả các ký tự trong chuỗi hiện thời sang chữ hoa
public static void main(String[] args){
String varString1 = "Hello World";
System.out.println(varString1.toUpperCase());
// Kết quả trả về HELLO WORLD
}
4.19. Phương thức trim()
Phương thức này dùng để xóa tất cả ký tự khoảng trắng (Space) ở đầu và ở cuối chuỗi
public static void main(String[] args){
String varString1 = " Hello World ";
System.out.println(varString1.trim());
// Kết quả trả về Hello World
}
4.20. Phương thức split(String regex)
Phương thức split() thường được sử dụng được sử dụng để tách chuỗi dựa trên một regex được chỉ định.
public static void main(String[] args){
String s1 = "java string split method";
//tách chuỗi str dựa trên khoảng trắng
String[] words = s1.split(" ");
//su dung vong lap foreach de in cac element cua mang chuoi thu duoc
for (String w : words) {
System.out.println(w);
}
}
5. In ký tự đặc biệt
Nhắc lại bài cũ 1 chút, khi xử lý với kiểu String, chúng ta đôi khi sẽ cần in ra 1 số ký tự đặt biệt. Ví dụ như chuỗi sau:
Hello. "We are learning Java." Java is fun
The project path is C:\BasicJava\test.
Có một số ký tự mà ta không thể sử dụng trực tiếp trong code Java. Khi đó để in ra chúng, chúng ta cần sử dụng một kỹ thuật đặc biệt.
Bởi vì các chuỗi phải được viết trong dấu ngoặc kép, vì vậy Java sẽ hiểu sai chuỗi này và tạo ra lỗi. Giải pháp để tránh vấn đề này là sử dụng ký tự thoát hay dấu gạch chéo ngược ( \
).
Ký tự thoát | Kết quả | Mô tả |
---|---|---|
\' | ' | Dấu nháy đơn |
\" | " | Dấu nháy kép |
\\ | \ | Dấu gạch chéo ngược |
\t | Tab | |
\n | Xuống dòng |
Ví dụ:
public class Main {
public static void main(String[] args) {
System.out.println("She said, \"I love ice cream.\"");
System.out.println("Hello. \t Java is fun");
System.out.println("Hello. \n Java is fun");
}
}
Khi run đoạn code trên, chúng ta sẽ thấy kết quả được in ra như sau:
She said, "I love ice cream."
Hello. Java is fun
Hello.
Java is fun
6. Kết
Như vậy chúng ta đã tìm hiểu về kiểu dữ liệu String và các phương thức xử lý chuỗi. Cảm ơn các bạn đã theo dõi bài viết của mình. Chúc các bạn thành công. Hẹn gặp lại các bạn ở những chủ đề tiếp theo. Bái bai.