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

การวนลูปผ่านอักขระ

ประมวลผล char แต่ละตัวในสตริง

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

สตริงประกอบด้วยอักขระ

String คือลำดับของอักขระ อักขระแต่ละตัวอยู่ในตำแหน่งที่เรียกว่าดัชนี โดยเริ่มต้นที่ 0

ใน "Java" ดัชนี 0 คือ 'J' ดัชนี 1 คือ 'a' และต่อไปเรื่อย ๆ การวนซ้ำช่วยให้คุณเข้าถึงอักขระแต่ละตัวตามลำดับ

String word = "Java";
// indexes: 0=J 1=a 2=v 3=a

charAt ดึงอักขระหนึ่งตัว

เมธอด charAt(index) คืนค่าอักขระที่อยู่ในตำแหน่งที่กำหนดของสตริง

ดัชนีมีค่าตั้งแต่ 0 ถึง length() - 1 การขอดัชนีที่อยู่นอกช่วงนี้จะทำให้เกิดข้อผิดพลาด

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        System.out.println(word.charAt(0));
        System.out.println(word.charAt(3));
    }
}

สตริงมีความยาวเท่าใด

เมธอด length() คืนค่าจำนวนอักขระที่สตริงมี

สำหรับ "Java" เมธอดนี้คืนค่า 4 เนื่องจากดัชนีเริ่มต้นที่ 0 ดัชนีสุดท้ายที่ถูกต้องจึงเป็น length() - 1 เสมอ

public class Main {
    public static void main(String[] args) {
        String word = "Hello";
        System.out.println(word.length());
    }
}

การวนซ้ำโดยใช้ดัชนี

การวนซ้ำแบบคลาสสิกของ for จะเพิ่มค่าดัชนีตั้งแต่ 0 จนถึง length() - 1 และเรียก charAt ในแต่ละครั้ง

วิธีนี้ทำให้คุณได้ทั้งตำแหน่งและอักขระ ซึ่งมีประโยชน์เมื่อดัชนีมีความสำคัญ

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (int i = 0; i < word.length(); i++) {
            System.out.println(word.charAt(i));
        }
    }
}

การวนซ้ำแบบเข้าถึงสมาชิกโดยตรง

หากไม่จำเป็นต้องใช้ดัชนี ให้แปลงสตริงเป็นอาร์เรย์อักขระด้วย toCharArray() แล้วใช้การวนซ้ำทีละสมาชิก

รูปแบบนี้อ่านได้ชัดเจนว่า สำหรับอักขระแต่ละตัว c ในคำ ให้ดำเนินการบางอย่าง

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (char c : word.toCharArray()) {
            System.out.println(c);
        }
    }
}

การพิมพ์ในบรรทัดเดียว

ใช้ System.out.print แทน println เพื่อให้อักขระอยู่ในบรรทัดเดียวกัน

วิธีนี้มีประโยชน์เมื่อสร้างหรือแปลงข้อความใหม่ทีละอักขระ

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (char c : word.toCharArray()) {
            System.out.print(c);
        }
        System.out.println();
    }
}

การแปลงอักขระแต่ละตัว

ภายในการวนซ้ำ คุณสามารถเปลี่ยนอักขระแต่ละตัวก่อนนำไปใช้ได้ ในที่นี้เราเปลี่ยนตัวอักษรทุกตัวเป็นตัวพิมพ์ใหญ่ไปทีละตัว

เราสร้างสตริงใหม่เพราะไม่สามารถแก้ไขสตริงเดิมได้ สตริงไม่สามารถเปลี่ยนแปลงได้

public class Main {
    public static void main(String[] args) {
        String word = "java";
        String result = "";
        for (char c : word.toCharArray()) {
            result += Character.toUpperCase(c);
        }
        System.out.println(result);
    }
}

การวนซ้ำย้อนกลับ

หากต้องการกลับลำดับสตริง ให้วนซ้ำจากดัชนีสุดท้ายลงมาถึง 0 โดยใช้ charAt

กำหนดให้ i เริ่มที่ length() - 1 แล้วลดค่าลงจนกว่าจะถึง 0

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (int i = word.length() - 1; i >= 0; i--) {
            System.out.print(word.charAt(i));
        }
        System.out.println();
    }
}

ระวังขอบเขต

วนซ้ำโดยมีเงื่อนไข i < word.length() เสมอ ห้ามใช้ i <= word.length()

การเลยจุดสิ้นสุดไปหนึ่งตำแหน่งจะเรียก charAt ด้วยดัชนีที่ไม่ถูกต้อง และทำให้เกิด StringIndexOutOfBoundsException

String word = "Hi";
// valid indexes: 0 and 1 only
// charAt(2) would crash

การค้นหาอักขระ

วนซ้ำและเปรียบเทียบอักขระแต่ละตัวด้วย == เพื่อค้นหาเป้าหมาย ในที่นี้เราระบุดัชนีของ 'a' ตัวแรก

เมื่อพบแล้ว เราจะหยุดก่อนกำหนดด้วย break

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (int i = 0; i < word.length(); i++) {
            if (word.charAt(i) == 'a') {
                System.out.println("Found at " + i);
                break;
            }
        }
    }
}

การอ่านข้อความจากสตริง

การวนซ้ำผ่านอักขระเป็นพื้นฐานของงานค้นหา การแทนที่ และการตรวจสอบความถูกต้อง

เมื่อใดก็ตามที่คุณต้องตรวจสอบข้อความอย่างละเอียด การไล่ดูอักขระแต่ละตัวด้วยการวนซ้ำคือเครื่องมือมาตรฐาน

for (char c : "ab".toCharArray()) {
    System.out.println(c);
}

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

ทดสอบความเข้าใจของคุณเกี่ยวกับการวนซ้ำผ่านอักขระ

สรุปทบทวน

ใช้ charAt(i) ร่วมกับการวนซ้ำโดยใช้ดัชนี หรือใช้ toCharArray() ร่วมกับการวนซ้ำทีละสมาชิก เพื่อเข้าถึงอักขระทุกตัว

วนซ้ำขณะที่ i < length() เพื่อไม่ให้ออกนอกขอบเขต และสร้างสตริงใหม่เนื่องจากสตริงไม่สามารถเปลี่ยนแปลงได้ รูปแบบนี้เป็นพื้นฐานของการค้นหาและการแปลงข้อความ

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

บทเรียน “การวนลูปผ่านอักขระ” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การวนลูปผ่านอักขระ”

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

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

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

บทเรียน “การวนลูปผ่านอักขระ” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ชนิดข้อมูลพื้นฐาน char
  2. เมธอดช่วยจัดการอักขระ
  3. การวนลูปผ่านอักขระ
  4. การนับและกรองอักขระ
← กลับไปที่ Java Academy