0Pricing
Java Academy · บทเรียน

การเยื้องและการตัดช่องว่าง

ควบคุมช่องว่างที่ไม่จำเป็น

การเยื้องและการตัดช่องว่าง เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การประกาศบล็อกข้อความ
  2. การเยื้องและการตัดช่องว่าง
  3. Escape ในบล็อกข้อความ
  4. กรณีการใช้งาน: JSON และ SQL
← กลับไปที่ Java Academy