Trong hướng dẫn này, chúng ta sẽ học cách làm việc với các chuỗi trong Java. Chuỗi, được sử dụng rộng rãi trong lập trình, là một chuỗi các ký tự. Trong ngôn ngữ lập trình Java, chuỗi là một đối tượng. Nền tảng Java cung cấp một lớp
String
để tạo và thao tác các chuỗi.
Tạo chuỗi
Cách đơn giản nhất để tạo một chuỗi trông như thế này:String greeting = "Hello world!";
Trong trường hợp này, “Xin chào thế giới!” là một chuỗi ký tự (tức là một hằng số) bao gồm một chuỗi các ký tự được đặt trong dấu ngoặc kép. Bất cứ khi nào trình biên dịch gặp một chuỗi ký tự, nó sẽ tạo một đối tượng thuộc loại String
có giá trị, trong trường hợp của chúng ta là "Xin chào thế giới!". Giống như bất kỳ đối tượng nào khác, một chuỗi có thể được tạo bằng từ khóa new
. Lớp này String
có ba hàm tạo cho phép bạn tạo một đối tượng bằng cách sử dụng các nguồn khác nhau, chẳng hạn như mảng ký tự .
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
Dòng cuối cùng của ví dụ sẽ in lời chào ra màn hình . Lớp String
là bất biến nên khi tạo một đối tượng, chúng ta không thể thay đổi nó. Một số phương pháp mà chúng ta sẽ xem xét dưới đây có thể khắc phục điều này. Bởi vì String
không thể thay đổi, các phương thức này tạo và trả về một chuỗi mới chứa kết quả của phép toán.
Độ dài chuỗi Java
Các phương thức lấy thông tin về một chuỗi được gọi là các phương thức truy cập. Một trong những phương pháp nàylength()
. Nó trả về số ký tự trong chuỗi. Trong ví dụ sau len
nó sẽ là 17:
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
Biến palindrome
chứa một bảng màu, tức là một từ hoặc câu có cách đọc giống nhau cả hai cách. Hãy viết một chương trình nhỏ để đảo ngược một bảng màu. Chúng ta sẽ sử dụng phương thức charAt(i)
, trả về ký tự thứ i của chuỗi, bắt đầu bằng 0
.
public class StringDemo {
public static void main(String[] args) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
char[] tempCharArray = new char[len];
char[] charArray = new char[len];
//создадим из строки
// массив символов
for (int i = 0; i < len; i++) {
tempCharArray[i] =
palindrome.charAt(i);
}
// перевернем массив символов
for (int j = 0; j < len; j++) {
charArray[j] =
tempCharArray[len - 1 - j];
}
String reversePalindrome =
new String(charArray);
System.out.println(reversePalindrome);
}
}
Chương trình sẽ in
doT saw I was toD
Để đảo ngược một chuỗi, trước tiên chúng tôi tạo một mảng các ký tự từ chuỗi đó (vòng lặp đầu tiên), sau đó tạo một mảng mới để chúng tôi viết mảng đầu tiên đảo ngược vào đó, sau đó tạo một chuỗi mới. Lớp này String
chứa một phương thức getChars()
trả về một mảng ký tự, vì vậy vòng lặp đầu tiên có thể được thay thế bằng dòng:
palindrome.getChars(0, len, tempCharArray, 0);
Nối chuỗi
Lớp nàyString
thực hiện một phương thức để nối hai chuỗi:
string1.concat(string2);
Mã này sẽ trả về một chuỗi mới chứa string1
và gắn vào nó string2
. Bạn cũng có thể sử dụng phương pháp này với chuỗi ký tự:
"My name is ".concat("Rumplestiltskin");
Thông thường, các chuỗi được nối bằng +
toán tử “ ”, ví dụ:
"Hello," + " world" + "!"
Kết quả sẽ là chuỗi “ Xin chào thế giới!” " Toán tử " +
" được sử dụng rộng rãi để hiển thị thông tin, ví dụ:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
Mã sẽ xuất ra " Dot saw I was Tod ". Sự ghép nối như vậy có thể được sử dụng kết hợp với bất kỳ đối tượng nào khác. Đối với các đối tượng không phải là chuỗi, phương thức sẽ được gọi để toString()
chuyển đổi chúng thành chuỗi. Thiết lập định dạng đầu ra chuỗi Chúng ta đã xem xét các phương pháp printf()
khi format()
định dạng đầu ra của các số. Lớp này String
có một phương thức tương tự trả về một chuỗi. Bằng cách sử dụng phương pháp tĩnh, format()
bạn có thể tạo một mẫu có sẵn có thể được sử dụng lại, ví dụ:
System.out.printf ("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, "
"and the string is %s",
floatVar, intVar, stringVar);
bạn có thể sử dụng mã này:
String fs;
fs = String.format("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, " +
" and the string is %s",
froatVar, intVar, stringVar);
System.out.println(fs);
Đó là tất cả! :) Liên kết tới nguồn: Chuỗi trong Java
GO TO FULL VERSION