ในบทช่วยสอนนี้ เราจะได้เรียนรู้วิธีการทำงานกับสตริงใน Java สตริงซึ่งใช้กันอย่างแพร่หลายในการเขียนโปรแกรมคือลำดับของอักขระ ในภาษาการเขียนโปรแกรม Java สตริงเป็นอ็อบเจ็กต์ แพลตฟอร์ม Java จัดเตรียมคลาส
String
สำหรับการสร้างและจัดการสตริง การสร้างสตริง
วิธีที่ง่ายที่สุดในการสร้างสตริงมีลักษณะดังนี้:String greeting = "Hello world!";
ในกรณีนี้คือ “สวัสดีชาวโลก!” เป็นสตริงลิเทอรัล (เช่น ค่าคงที่) ที่ประกอบด้วยลำดับอักขระที่อยู่ในเครื่องหมายคำพูด เมื่อใดก็ตามที่คอมไพลเลอร์พบสตริงลิเทอรัล มันจะสร้างอ็อบเจ็กต์ประเภทString
ที่มีค่า ในกรณีของเรา "Hello World!" new
เช่นเดียวกับอ็อบเจ็กต์อื่นๆ คุณสามารถสร้างสตริงได้โดยใช้คีย์เวิร์ด คลาสนี้String
มีคอนสตรัคเตอร์สามตัวที่ให้คุณสร้างออบเจ็กต์โดยใช้แหล่งที่มาที่แตกต่างกัน เช่นอาร์เรย์ อักขระ
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
บรรทัดสุดท้ายของตัวอย่างจะพิมพ์ hello ไปที่หน้าจอ คลาสString
ไม่เปลี่ยนรูป ดังนั้นเมื่อเราสร้างอ็อบเจ็กต์แล้ว เราก็ไม่สามารถเปลี่ยนแปลงมันได้ วิธีการบางอย่างที่เราจะดูด้านล่างสามารถแก้ไขได้ เพราะ String
ไม่เปลี่ยนรูป วิธีการเหล่านี้จะสร้างและส่งคืนสตริงใหม่ที่มีผลลัพธ์ของการดำเนินการ
ความยาวสตริง Java
วิธีการรับข้อมูลเกี่ยวกับสตริงเรียกว่าวิธีการเข้าถึง หนึ่งในวิธีการเหล่าlength()
นี้ ส่งคืนจำนวนอักขระในสตริง ในตัวอย่างต่อไปlen
นี้จะเป็น 17:
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
ตัวแปรpalindrome
ประกอบด้วยพาลินโดรม เช่น คำหรือประโยคที่อ่านเหมือนกันทั้งสองวิธี เรามาเขียนโปรแกรมเล็กๆ ที่จะกลับค่าพาลินโดรมกันดีกว่า เราจะใช้เมธอดcharAt(i)
ซึ่งจะส่งคืน อักขระ i -th ของสตริง โดยเริ่มต้น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);
}
}
โปรแกรมจะพิมพ์
doT saw I was toD
ในการย้อนกลับสตริง อันดับแรกเราสร้างอาร์เรย์ของอักขระจากสตริง (ลูปแรก) จากนั้นจึงสร้างอาร์เรย์ใหม่โดยที่เราเขียนอาร์เรย์แรกที่กลับด้าน จากนั้นจึงสร้างสตริงใหม่ คลาสนี้String
มีเมธอดgetChars()
ที่ส่งคืนอาร์เรย์ของอักขระ ดังนั้นลูปแรกจึงสามารถแทนที่ด้วยบรรทัดได้:
palindrome.getChars(0, len, tempCharArray, 0);
การต่อสตริง
ชั้นString
ใช้วิธีการเชื่อมต่อสองสาย:
string1.concat(string2);
รหัสนี้จะส่งคืนสตริงใหม่ที่มี และ ต่อstring1
ท้าย string2
คุณยังสามารถใช้วิธีนี้กับตัวอักษรสตริงได้:
"My name is ".concat("Rumplestiltskin");
ส่วนใหญ่แล้ว สตริงจะถูกรวมเข้าด้วยกันโดยใช้+
โอเปอเรเตอร์ “ ” เช่น:
"Hello," + " world" + "!"
ผลลัพธ์จะเป็นสตริง “ สวัสดีชาวโลก!” " ตัวดำเนินการ " +
" ถูกใช้กันอย่างแพร่หลายในการแสดงข้อมูล ตัวอย่างเช่น:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
รหัสจะแสดงผล " Dot saw I was Tod " การต่อข้อมูลดังกล่าวสามารถใช้ร่วมกับวัตถุอื่นได้ สำหรับอ็อบเจ็กต์ที่ไม่ใช่สตริง วิธีการนี้จะเรียกว่าtoString()
ซึ่งจะแปลงเป็นสตริง การตั้งค่ารูปแบบเอาต์พุตสตริง เราได้ดูวิธีการแล้วprintf()
เมื่อformat()
เราจัดรูปแบบผลลัพธ์ของตัวเลข คลาสString
มีเมธอดที่คล้ายกันซึ่งส่งคืนสตริง เมื่อใช้วิธีการคงformat()
ที่ คุณสามารถสร้างเทมเพลตสต็อกที่สามารถนำมาใช้ซ้ำได้ เช่น:
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);
คุณสามารถใช้รหัสนี้:
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);
นั่นคือทั้งหมด! :) ลิงก์ไปยังแหล่งที่มา: สตริงใน Java
GO TO FULL VERSION