String.format
สร้างสตริงตามรูปแบบ
String.format เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
จัดรูปแบบโดยไม่พิมพ์
printf ส่งข้อความตรงไปยังคอนโซล แต่บางครั้งคุณอาจต้องการข้อความที่จัดรูปแบบแล้วในรูปของ String เพื่อจัดเก็บ ส่งคืน หรือใช้ซ้ำ
String.format ทำสิ่งนี้ได้พอดี โดยใช้กฎเดียวกัน แต่ส่งคืนค่าแทนการพิมพ์
String.format ครั้งแรกของคุณ
String.format ใช้ช่องแทนค่าแบบเดียวกับ printf โดยจะสร้างสายอักขระใหม่แล้วส่งกลับมาให้คุณ
ในที่นี้ ผลลัพธ์จะถูกจัดเก็บไว้ใน msg แล้วจึงพิมพ์ออกมา
public class Main {
public static void main(String[] args) {
String msg = String.format("Hello, %s!", "World");
System.out.println(msg);
}
}ตัวระบุรูปแบบเหมือนเดิม
ทุกสิ่งที่คุณเรียนรู้มายังคงใช้ได้ เช่น %d %f %.2f ความกว้าง และแฟล็กต่าง ๆ ล้วนใช้กับ String.format ได้
ข้อแตกต่างเพียงอย่างเดียวคือ ผลลัพธ์จะถูกส่งคืนแทนที่จะแสดงออกมา
public class Main {
public static void main(String[] args) {
String s = String.format("%s: %.2f", "Price", 9.5);
System.out.println(s);
}
}การจัดเก็บผลลัพธ์
เนื่องจากคำสั่งนี้ส่งคืน String คุณจึงสามารถเก็บไว้ในตัวแปร ต่อสายอักขระเข้าด้วยกัน หรือส่งให้เมธอดอื่นได้
วิธีนี้มีประโยชน์สำหรับการสร้างข้อความทีละขั้นตอน
public class Main {
public static void main(String[] args) {
String label = String.format("#%03d", 7);
System.out.println("ID " + label);
}
}การส่งคืนข้อความที่จัดรูปแบบ
เมธอดสามารถใช้ String.format เพื่อส่งคืนสายอักขระที่เป็นระเบียบได้ ซึ่งช่วยรวมตรรกะการจัดรูปแบบไว้ในที่เดียว
ด้านล่างนี้ greet จะส่งคืนคำทักทายที่จัดรูปแบบแล้ว
public class Main {
static String greet(String name) {
return String.format("Welcome, %s!", name);
}
public static void main(String[] args) {
System.out.println(greet("Mia"));
}
}ไม่มีการขึ้นบรรทัดใหม่โดยอัตโนมัติ
เช่นเดียวกับ printf String.format จะไม่เพิ่มการขึ้นบรรทัดใหม่ เว้นแต่คุณจะเขียน \n ไว้ในสายอักขระรูปแบบ
หากคุณพิมพ์ผลลัพธ์ด้วย println คำสั่งนั้นจะเพิ่มการขึ้นบรรทัดใหม่ให้
public class Main {
public static void main(String[] args) {
String s = String.format("Line one");
System.out.println(s);
}
}ค่าหลายค่า
คุณสามารถส่งอาร์กิวเมนต์ได้มากเท่าจำนวนช่องแทนค่า โดยค่าจะเติมลงในช่องจากซ้ายไปขวาเช่นเดียวกับ printf
วิธีนี้ทำให้สร้างแถวข้อมูลเป็นสายอักขระเดียวได้ง่าย
public class Main {
public static void main(String[] args) {
String row = String.format("%s | %d | %.1f", "Tea", 3, 2.5);
System.out.println(row);
}
}การใช้รูปแบบซ้ำ
เนื่องจากสายอักขระรูปแบบเป็นเพียงข้อความ คุณจึงนำไปใช้ซ้ำหลายครั้งภายในลูปเพื่อสร้างสายอักขระที่มีรูปแบบสม่ำเสมอได้
การเรียกใช้แต่ละครั้งจะส่งคืนสายอักขระใหม่พร้อมค่าใหม่
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 3; i++) {
System.out.println(String.format("Item %d", i));
}
}
}printf ใช้ format ภายใน
เบื้องหลังแล้ว System.out.printf(fmt, args) ทำงานคล้ายกับการพิมพ์ String.format(fmt, args)
ดังนั้น การเลือกระหว่างสองคำสั่งนี้จึงขึ้นอยู่กับว่าคุณต้องการพิมพ์ทันที หรือเก็บข้อความไว้ใช้ภายหลัง
การสร้างบันทึกและป้ายกำกับ
String.format มีประโยชน์สำหรับบรรทัดบันทึก ป้ายกำกับในส่วนติดต่อผู้ใช้ และชื่อไฟล์ที่ต้องใช้รูปแบบอย่างแม่นยำ
การรวมรูปแบบไว้ที่เดียวหมายความว่า การเปลี่ยนแปลงเพียงครั้งเดียวจะอัปเดตทุกข้อความ
public class Main {
public static void main(String[] args) {
int code = 404;
String log = String.format("[ERROR %d] not found", code);
System.out.println(log);
}
}กฎชนิดข้อมูลยังคงเดิม
กฎการจับคู่ตัวระบุรูปแบบกับค่ายังคงเหมือนเดิมทุกประการ ได้แก่ %d ต้องใช้กับจำนวนเต็ม %f ต้องใช้กับค่าจุดลอยตัว และการจับคู่ไม่ตรงกันจะโยนข้อยกเว้นขณะทำงาน
ตรวจสอบการจับคู่ให้รอบคอบก่อนเรียกใช้
ตรวจสอบอย่างรวดเร็ว
String.format แตกต่างจาก printf อย่างไร
ทบทวน
String.format ใช้กฎเดียวกับ printf แต่ส่งคืน String ที่คุณสามารถจัดเก็บ ส่งคืน หรือใช้ซ้ำได้
ถัดไป คุณจะนำความกว้างและการจัดแนวมารวมกันเพื่อสร้างตารางที่เป็นระเบียบ
คำถามที่พบบ่อย
บทเรียน “String.format” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “String.format” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “String.format”
สร้างสตริงตามรูปแบบ คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “String.format” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน printf
- รูปแบบตัวเลขและทศนิยม
- String.format
- การจัดแนวตาราง