การเยื้องและการตัดช่องว่าง
ควบคุมช่องว่างที่ไม่จำเป็น
การเยื้องและการตัดช่องว่าง เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
ช่องว่างที่เกิดขึ้นโดยบังเอิญเทียบกับช่องว่างที่จำเป็น
เมื่อคุณเยื้องบล็อกข้อความให้ตรงกับโค้ด การเยื้องนั้นเป็นส่วนเกินและไม่ควรเป็นส่วนหนึ่งของสตริง Java จะตัดออกโดยอัตโนมัติ เหลือไว้เฉพาะช่องว่างที่จำเป็น
ตัวปิดกำหนดระยะขอบ
Java จะพิจารณาบรรทัดเนื้อหาทั้งหมดและตัวปิด """ เพื่อหาคอลัมน์ซ้ายสุดที่ไม่ว่างซึ่งเหมือนกัน ทุกอย่างทางซ้ายของระยะขอบนั้นจะถูกนำออก
public class Main {
public static void main(String[] args) {
String text = """
Hello
World
""";
System.out.println("[" + text + "]");
}
}การเลื่อนเครื่องหมายอัญประกาศปิดไปทางซ้าย
หากตัวปิด """ อยู่ทางซ้ายมากกว่าเนื้อหา ช่องว่างนำหน้าส่วนเกินในแต่ละบรรทัดจะถูกเก็บไว้เป็นช่องว่างที่จำเป็น
public class Main {
public static void main(String[] args) {
String text = """
Hello
World
""";
System.out.print(text);
}
}ช่องว่างท้ายบรรทัดจะถูกนำออก
ช่องว่างที่อยู่ท้ายแต่ละบรรทัดจะถูกตัดออกโดยอัตโนมัติ วิธีนี้ช่วยป้องกันข้อผิดพลาดจากช่องว่างท้ายบรรทัดที่มองไม่เห็น ซึ่งมักเกิดกับสตริงทั่วไป
public class Main {
public static void main(String[] args) {
String text = """
line one
line two
""";
for (String line : text.split("\n")) {
System.out.println("<" + line + ">");
}
}
}เมธอด stripIndent
เมธอด String.stripIndent() ใช้อัลกอริทึมเดียวกับการจัดการช่องว่างส่วนเกินกับสตริงใด ๆ ขณะทำงาน ซึ่งเป็นสิ่งที่บล็อกข้อความใช้เบื้องหลัง
public class Main {
public static void main(String[] args) {
String raw = " a\n b\n c\n";
System.out.print(raw.stripIndent());
}
}การควบคุมการเยื้องภายใน
การเยื้องที่สัมพันธ์กับระยะขอบจะยังคงอยู่ ในที่นี้บรรทัดที่สองเยื้องมากกว่าบรรทัดแรก และการเยื้องส่วนเพิ่มนั้นจะยังอยู่ในผลลัพธ์
public class Main {
public static void main(String[] args) {
String tree = """
root
child
grandchild
""";
System.out.print(tree);
}
}เมธอด indent
String.indent(int n) เพิ่มช่องว่าง n ช่องที่จุดเริ่มต้นของทุกบรรทัด และทำให้แน่ใจว่ามีบรรทัดใหม่ต่อท้าย เมธอดนี้มีประโยชน์สำหรับการซ้อนบล็อกข้อความ
public class Main {
public static void main(String[] args) {
String text = """
a
b
""";
System.out.print(text.indent(4));
}
}strip เทียบกับการตัดขอบ
ใช้ strip() เพื่อนำช่องว่างนำหน้าและท้ายบล็อกทั้งหมดออก ซึ่งต่างจาก trim() รุ่นเก่า เพราะ strip() รองรับ Unicode
public class Main {
public static void main(String[] args) {
String text = """
content
""";
System.out.println("[" + text.strip() + "]");
}
}เครื่องหมายอัญประกาศปิดอยู่บนบรรทัดของตัวเอง
หากตัวปิด """ อยู่บนบรรทัดของตัวเอง สตริงจะลงท้ายด้วยบรรทัดใหม่ หากวางตัวปิดไว้ต่อจากอักขระตัวสุดท้าย บรรทัดใหม่นั้นจะถูกตัดออก
public class Main {
public static void main(String[] args) {
String withNewline = """
done
""";
String noNewline = """
done""";
System.out.println("A:" + withNewline.length());
System.out.println("B:" + noNewline.length());
}
}การจัดแนวให้ตรงกับโค้ด
คุณสามารถเยื้องทั้งบล็อกให้ตรงกับโค้ดรอบข้างเพื่อให้อ่านง่าย และการเยื้องส่วนเกินจะหายไปจากค่า
public class Main {
static String menu() {
return """
Start
Options
Quit
""";
}
public static void main(String[] args) {
System.out.print(menu());
}
}การตรวจสอบระยะขอบ
หากต้องการแก้ไขปัญหาการตัดช่องว่าง ให้ครอบแต่ละบรรทัดด้วยเครื่องหมาย วิธีนี้จะแสดงให้เห็นอย่างชัดเจนว่าช่องว่างนำหน้าใดบ้างที่ยังคงอยู่
public class Main {
public static void main(String[] args) {
String block = """
x
y
""";
for (String line : block.split("\n")) {
System.out.println("|" + line + "|");
}
}
}ตรวจสอบอย่างรวดเร็ว
อะไรเป็นตัวกำหนดปริมาณช่องว่างนำหน้า (ช่องว่างส่วนเกิน) ที่ถูกตัดออกจากบล็อกข้อความ
สรุป
คุณได้เรียนรู้เรื่องการเยื้องและการตัดช่องว่าง:
- การเยื้องที่ไม่จำเป็นจะถูกนำออกโดยอัตโนมัติ
- ตำแหน่งของตัวปิด
"""สามารถกำหนดระยะขอบได้ - ช่องว่างท้ายบรรทัดจะถูกตัดออก
stripIndent(),indent(n)และstrip()ช่วยจัดการขณะทำงานได้- ตำแหน่งของเครื่องหมายอัญประกาศปิดจะควบคุมบรรทัดใหม่สุดท้าย
คำถามที่พบบ่อย
บทเรียน “การเยื้องและการตัดช่องว่าง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเยื้องและการตัดช่องว่าง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเยื้องและการตัดช่องว่าง”
ควบคุมช่องว่างที่ไม่จำเป็น คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การเยื้องและการตัดช่องว่าง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การประกาศบล็อกข้อความ
- การเยื้องและการตัดช่องว่าง
- Escape ในบล็อกข้อความ
- กรณีการใช้งาน: JSON และ SQL