Một số phương thức hay dùng
IsEmpty() | kiểm tra chuỗi có rỗng không. |
split(separator) | chia chuỗi thành mảng với điểm ngắt là ký tự separator. Ví dụ tách chuỗi thành các từ str.split(" "); |
trim() | ngắt bỏ khoảng trắng ở đầu và cuỗi |
contains(s) | kiểm tra có chứa một chuỗi con |
length() | Trả về chiều dài chuỗi |
charAt(int index) | trả về ký tự tại vị trí index trong chuỗi, ký tự đầu tiên chỉ số index là 0 |
toCharArray() | lấy mảng các ký tự |
replace(old,new) | tìm và thay thế ký tự, chuỗi |
substring(int begin) substring(int begin, int end) | trả về trích xuất chuỗi con từ begin đến cuối hoặc end |
toLowerCase()/toUpperCase | trả về chuỗi mới bằng cách đổi chữ Hoa thành thường (hoặc thường thành Hoa) |
Write a program to test if a given string contains the specified sequence of char values
publicclass String_Contains { publicstaticvoid main(String[] args) { String str1 = "Tutor Joe's Computer Educations"; String str2 = "Computer"; String str3 = "Computers"; System.out.println("Given String : " + str1); System.out.println("Specified Sequence of char Values : " + str2); System.out.println(str1.contains(str2)); System.out.println("\nSpecified Sequence of char Values : " + str3); System.out.println(str1.contains(str3)); } }
Output
Given String = Tutor Joe's Computer Educations Specified Sequence of char Values = Computer true Specified Sequence of char Values = Computers false
Write a program to check if the letter ‘x’ is present in the word
class Check_Letter { publicstaticvoid main(String[] args) { String str = "String Exercises"; boolean pre =false; for(int i = 0;i<str.length();i++) { if(str.charAt(i) == 'x') { pre=true; break; } } System.out.println(pre); } }
Output:
true
Write a program How to search a word inside a string?
The indexOf() method is used to search for the index of the word "Computer" in the string str.
If the word is found, the index of the first occurrence of the word is returned.
If the word is not found, -1 is returned.
class Search_Word { publicstaticvoid main(String[] args) { String str = "Tutor Joes Computer Education"; int in = str.indexOf("Computer"); if(in == - 1) { System.out.println("Computer Not Found"); } else{ System.out.println("Found Computer at Index " + in); } } }
Write a program to Convert any type of value to string value using String.valueOf() method
class Convert_AnyType { publicstaticvoid main(String args[]) { int i = 23; float f = 78.54f; double d = 1374.13d; boolean b =false; System.out.println("After Converting into String"); System.out.println("String Value of Int : "+ String.valueOf(i)); System.out.println("String Value of Float : "+ String.valueOf(f)); System.out.println("String Value of Double : "+ String.valueOf(d)); System.out.println("String Value of Boolean : "+ String.valueOf(b)); } }
Output:
After Converting into String String Value of Int : 23 String Value of Float : 78.54 String Value of Double : 1374.13 String Value of Boolean : false
Write a program to Trim a given string using String.trim() method
import java.lang.*; publicclass String_Method { publicstaticvoid main(String []args) { String str = " String Function "; System.out.println("String omitting Leading and Trailing Spaces : "+ str.trim()); } }
Output:
String omitting Leading and Trailing Spaces : String Function
Difference between String and String Buffer implementation
String là một lớp cơ bản để biểu diễn chuỗi trong Java. Tuy nhiên trong Java, String là bất biến(immutable) - tức là không thể sửa đổi được. Nghĩa là một khi một đối tượng String được tạo ra, thì nó không thể thay đổi nội dung của mình. Nếu chương trình của bạn cần thực hiện nhiều thay đổi trên một chuỗi, sử dụng String làm lãng phí tài nguyên và làm chương trình chạy chậm.
StringBuffer, StringBuilder là một lớp có khả năng sửa đổi được(mutable) và được thiết kế để hỗ trợ đa luồng (multi-threaded). Khi bạn thực hiện bất kỳ thao tác nào nên một đối tượng StringBuffer, nội dung của nó sẽ được sửa đổi trực tiếp mà không cần tạo ra một đối tượng mới.
Nếu so sánh về tốc độ xử lý StringBuilder là tốt nhất, sau đó StringBuffer và cuối cùng mới là String.
- Nếu xử lý văn bản sử dụng nhiều luồng (Thread) bạn nên sử dụng StringBuffer để tránh tranh chấp giữa các luồng.
- Nếu xử lý văn bản sử dụng 1 luồng (Thread) nên sử dụng StringBuilder.
class Test { publicstaticvoid main(String args[]) { // Example with StringString str = "study"; String newStr = str.concat(" tonight"); // Concatenation creates a new string System.out.println("Original String: " + str); // Output: studySystem.out.println("New String: " + newStr); // Output: study tonight // Example with StringBufferStringBuffer strB =new StringBuffer("study"); strB.append(" tonight"); // StringBuffer appends directly to the existing object System.out.println("StringBuffer: " + strB); // Output: study tonight} }
Các phương thức của lớp StringBuffer trong java
- append(String s): được sử dụng để nối thêm các chuỗi được chỉ định với chuỗi này. Các phương thức append() được nạp chồg như append(char), append(boolean), append(int), append(float), append(double), ...
- insert(int offset, String s): được sử dụng để chèn chuỗi chỉ định với chuỗi này tại vị trí quy định. Các phương thức insert() được nạp chồng như insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double), ...
- replace(int startIndex, int endIndex, String str): được sử dụng để thay thế chuỗi từ vị trị startIndex đến endIndex bằng chuỗi str.
- delete(int startIndex, int endIndex): được sử dụng để xóa chuỗi từ vị trí startIndex đến endIndex.
- reverse(): được sử dụng để đảo ngược chuỗi.
- capacity(): được sử dụng để trả về dung lượng hiện tại.
- ensureCapacity(int minimumCapacity): được sử dụng để đảm bảo dung lượng ít nhất bằng mức tối thiểu nhất định.
- charAt(int index): được sử dụng trả về ký tự tại vị trí quy định.
- length(): được sử dụng trả về chiều dài của chuỗi nghĩa là tổng số ký tự.
- substring(int beginIndex): được sử dụng trả về chuỗi con bắt đầu từ vị trí được chỉ định.
- substring(int beginIndex, int endIndex): được sử dụng trả về chuỗi con với vị trí bắt đầu và vị trí kết thúc được chỉ định.
public class StringBufferExam1 { public static void main(String args[]) { StringBuffer sb = new StringBuffer("Hello "); sb.append("Java");//đến đây chuỗi ban đầu đã bị thay đổi System.out.println(sb);//in Hello Java } } public class StringBufferExam2 { public static void main(String args[]) { StringBuffer sb = new StringBuffer("Hello "); sb.insert(1, "Java");//đến đây chuỗi ban đầu đã bị thay đổi System.out.println(sb);//in -> HJavaello } } public class StringBufferExam3 { public static void main(String args[]) { StringBuffer sb = new StringBuffer("Hello"); sb.replace(1, 3, "Java"); System.out.println(sb);//in -> HJavalo } } public class StringBufferExam4 { public static void main(String args[]) { StringBuffer sb = new StringBuffer("Hello"); sb.delete(1, 3); System.out.println(sb);//in -> Hlo } } public class StringBufferExam5 { public static void main(String args[]) { StringBuffer sb = new StringBuffer("Hello"); sb.reverse(); System.out.println(sb);//in -> olleH } }
String.format()
String s = String.format("Học %s trong %d tuần", "Java", 2); //s giờ bằng: "Học Java trong 2 tuần";
%5d: để khoảng trống tối thiểu 5 ký tự để điền số bên trái
VD: 34 ⇒ (space)(space)(space)(space)(space)34
%-5d: để khoảng trống tối thiểu 5 ký tự để điền số bên phải
VD: 34 ⇒ 34 (space)(space)(space)(space)(space)
%05d ⇒ thay khoảng trống bằng số 0
VD: 34 ⇒ 0000034