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

การจัดแนวตาราง

จัดรูปคอลัมน์ข้อมูล

การจัดแนวตาราง เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดการจัดแนวจึงสำคัญ

เมื่อคุณพิมพ์แถวข้อมูล คอลัมน์ที่ไม่เป็นแนวเดียวกันจะอ่านได้ยาก คอลัมน์ที่จัดแนวจะทำให้ตัวเลขและป้ายกำกับอยู่ตรงกันอย่างเป็นระเบียบ

ความกว้างและแฟล็กของ printf ช่วยให้คุณสร้างตารางที่อ่านง่ายได้โดยตรงในคอนโซล

การจัดแนวชิดขวาเป็นค่าเริ่มต้น

ความกว้างอย่าง %10s จะจองพื้นที่ 10 อักขระและเติมช่องว่างทางด้านซ้าย ทำให้ข้อความ จัดแนวชิดขวา

ตัวเลขก็ทำงานในลักษณะเดียวกัน นี่จึงเป็นเหตุผลที่คอลัมน์ตัวเลขเรียงตรงกันที่ขอบด้านขวา

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%10s]\n", "hi");
    }
}

การจัดแนวชิดซ้ายด้วยเครื่องหมายลบ

เพิ่มแฟล็ก - เพื่อจัดแนวชิดซ้ายภายในช่อง %-10s จะวางข้อความไว้ทางซ้ายและเติมช่องว่างทางขวา

การจัดแนวชิดซ้ายเหมาะอย่างยิ่งสำหรับป้ายกำกับและชื่อ

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%-10s]\n", "hi");
    }
}

สองคอลัมน์

นำป้ายกำกับที่จัดแนวชิดซ้ายมารวมกับตัวเลขที่จัดแนวชิดขวาเพื่อสร้างแถวหนึ่งแถว %-10s%5d จะกำหนดชื่อให้กว้าง 10 อักขระ และตัวเลขให้กว้าง 5 อักขระ

ใช้รูปแบบเดียวกันซ้ำกับทุกแถว แล้วคอลัมน์จะจัดแนวตรงกัน

public class Main {
    public static void main(String[] args) {
        System.out.printf("%-10s%5d\n", "Apples", 3);
        System.out.printf("%-10s%5d\n", "Pears", 12);
    }
}

ตารางอย่างง่าย

การใช้สายอักขระรูปแบบเดียวกันกับส่วนหัวและแถวข้อมูลแต่ละแถวจะช่วยให้ทุกอย่างจัดแนวตรงกัน

ในที่นี้ ทั้งสามแถวใช้รูปแบบเดียวกัน คอลัมน์จึงยังคงเป็นระเบียบ

public class Main {
    public static void main(String[] args) {
        String fmt = "%-8s%6d\n";
        System.out.printf(fmt, "Name", 0);
        System.out.printf(fmt, "Ann", 90);
        System.out.printf(fmt, "Bob", 7);
    }
}

การจัดแนวทศนิยม

สำหรับเงินหรือค่าการวัด ให้รวมความกว้างกับความละเอียดเข้าด้วยกัน %8.2f จะจัดแนวตัวเลขชิดขวาในพื้นที่ 8 อักขระ พร้อมทศนิยมสองตำแหน่ง

จุดทศนิยมของแต่ละแถวจะเรียงตรงกันในแนวตั้ง

public class Main {
    public static void main(String[] args) {
        System.out.printf("%8.2f\n", 5.5);
        System.out.printf("%8.2f\n", 123.4);
    }
}

หัวตารางพร้อมตัวเลข

ผสมคอลัมน์ข้อความและตัวเลขไว้ในแถวเดียวกัน ป้ายกำกับด้านซ้ายกับราคาที่จัดชิดขวาจะอ่านได้อย่างเป็นธรรมชาติเมื่ออยู่ด้วยกัน

รูปแบบนี้เป็นหัวใจของรายงานคอนโซลส่วนใหญ่

public class Main {
    public static void main(String[] args) {
        System.out.printf("%-10s%8.2f\n", "Coffee", 3.5);
        System.out.printf("%-10s%8.2f\n", "Cake", 12.0);
    }
}

การเลือกความกว้างของคอลัมน์

กำหนดความกว้างให้มากกว่าหรือเท่ากับค่าที่ยาวที่สุด มิฉะนั้นข้อความจะล้นคอลัมน์และทำให้การจัดแนวเสียไป

หากค่ากว้างกว่าช่อง printf จะแสดงค่านั้นทั้งหมดและไม่สนใจความกว้างที่กำหนด

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%3s]\n", "toolong");
    }
}

การวนซ้ำผ่านแถว

การใช้ลูปร่วมกับสตริงรูปแบบเดียวทำให้การสร้างตารางทั้งชุดเป็นเรื่องง่าย

แต่ละรอบจะแสดงแถวที่จัดแนวแล้วหนึ่งแถว ดังนั้นการเพิ่มข้อมูลจึงไม่ทำให้เค้าโครงเสีย

public class Main {
    public static void main(String[] args) {
        String[] names = {"Sun", "Mon", "Tue"};
        int[] hrs = {8, 12, 5};
        for (int i = 0; i < names.length; i++) {
            System.out.printf("%-6s%4d\n", names[i], hrs[i]);
        }
    }
}

การใช้ร่วมกับ String.format

คุณสามารถสร้างแต่ละแถวที่จัดแนวแล้วด้วย String.format หากต้องใช้ข้อความก่อนแสดงผล

กฎเรื่องความกว้างและการจัดแนวเหมือนกันทุกประการ

public class Main {
    public static void main(String[] args) {
        String row = String.format("%-8s%5d", "Total", 99);
        System.out.println(row);
    }
}

แท็บเทียบกับความกว้าง

คุณอาจใช้แท็บ \t คั่นคอลัมน์ได้ แต่จุดหยุดแท็บแตกต่างกันไป และค่าที่ยาวจะทำให้การจัดแนวคลาดเคลื่อน

ความกว้างคงที่อย่าง %-10s ให้คอลัมน์ที่เชื่อถือได้และคาดเดาได้ จึงควรเลือกใช้กับตาราง

ตรวจสอบอย่างรวดเร็ว

รูปแบบใดจัดชื่อให้ชิดซ้ายภายในพื้นที่ 12 อักขระ

ทบทวน

คุณสร้างตารางที่จัดแนวแล้วโดยใช้ช่องความกว้าง เครื่องหมาย - เพื่อจัดชิดซ้าย และ %8.2f สำหรับคอลัมน์ทศนิยมที่เป็นระเบียบ

ด้วย printf, String.format และการจัดแนว คุณสามารถจัดรูปแบบผลลัพธ์คอนโซลใด ๆ ให้เรียบร้อยได้

คำถามที่พบบ่อย

บทเรียน “การจัดแนวตาราง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การจัดแนวตาราง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การจัดแนวตาราง”

จัดรูปคอลัมน์ข้อมูล คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การจัดแนวตาราง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม

ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. พื้นฐาน printf
  2. รูปแบบตัวเลขและทศนิยม
  3. String.format
  4. การจัดแนวตาราง
← กลับไปที่ Java Academy