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

การนับและกรองอักขระ

งาน char ที่ใช้ได้จริง

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

การนับด้วยการวนซ้ำ

หากต้องการนับอักขระ ให้ใช้ตัวแปรตัวนับและบวก 1 ทุกครั้งที่ตรงตามเงื่อนไข

เริ่มตัวนับที่ 0 วนซ้ำผ่านอักขระทุกตัว และเพิ่มค่าตัวนับเมื่ออักขระผ่านเกณฑ์การทดสอบของคุณ

int count = 0;
for (char c : "hello".toCharArray()) {
    count++;
}

การนับสระ

ในส่วนนี้ เราจะนับสระโดยตรวจสอบอักขระแต่ละตัวกับชุดสระ

เราจะเปลี่ยนอักขระเป็นตัวพิมพ์เล็กก่อน เพื่อให้นับทั้ง 'A' และ 'a' ด้วยวิธีเดียวกัน

public class Main {
    public static void main(String[] args) {
        String text = "Java Rocks";
        int vowels = 0;
        for (char c : text.toCharArray()) {
            char low = Character.toLowerCase(c);
            if (low == 'a' || low == 'e' || low == 'i' || low == 'o' || low == 'u') {
                vowels++;
            }
        }
        System.out.println(vowels);
    }
}

การนับตัวเลข

หากต้องการนับว่ามีตัวเลขปรากฏอยู่ใน String กี่ตัว ให้ใช้ Character.isDigit ภายในลูป

วิธีนี้จะข้ามตัวอักษรและสัญลักษณ์โดยอัตโนมัติ ดังนั้นตัวนับของคุณจะเพิ่มขึ้นเฉพาะเมื่อพบตัวเลข

public class Main {
    public static void main(String[] args) {
        String text = "abc123x9";
        int digits = 0;
        for (char c : text.toCharArray()) {
            if (Character.isDigit(c)) digits++;
        }
        System.out.println(digits);
    }
}

การนับตัวอักษร

เปลี่ยนมาใช้ Character.isLetter เพื่อใช้นับอักขระที่เป็นตัวอักษรแทน

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

public class Main {
    public static void main(String[] args) {
        String text = "a1 b2 c3";
        int letters = 0;
        for (char c : text.toCharArray()) {
            if (Character.isLetter(c)) letters++;
        }
        System.out.println(letters);
    }
}

การนับอักขระที่ระบุ

หากต้องการนับอักขระใดอักขระหนึ่ง ให้เปรียบเทียบอักขระแต่ละตัวด้วย ==

วิธีนี้จะนับว่าตัวอักษร 'a' ปรากฏในข้อความกี่ครั้ง

public class Main {
    public static void main(String[] args) {
        String text = "banana";
        int aCount = 0;
        for (char c : text.toCharArray()) {
            if (c == 'a') aCount++;
        }
        System.out.println(aCount);
    }
}

การกรองอักขระออก

การกรองหมายถึงการสร้าง String ใหม่ที่เก็บไว้เฉพาะอักขระที่คุณต้องการ

ในที่นี้ เราจะเก็บตัวอักษรและตัวเลข โดยตัดช่องว่างกับเครื่องหมายวรรคตอนออกด้วยการต่ออักขระเข้ากับ String ผลลัพธ์

public class Main {
    public static void main(String[] args) {
        String text = "a-b 1!2";
        String clean = "";
        for (char c : text.toCharArray()) {
            if (Character.isLetterOrDigit(c)) clean += c;
        }
        System.out.println(clean);
    }
}

การใช้ StringBuilder

การสร้าง String ด้วย += ภายในลูปที่ทำงานเป็นเวลานานจะช้า เพราะแต่ละขั้นตอนสร้าง String ใหม่

StringBuilder ทำงานได้เร็วกว่า โดยต่ออักขระเข้าไป แล้วเรียกใช้ toString() เมื่อสิ้นสุด

public class Main {
    public static void main(String[] args) {
        String text = "H e l l o";
        StringBuilder sb = new StringBuilder();
        for (char c : text.toCharArray()) {
            if (!Character.isWhitespace(c)) sb.append(c);
        }
        System.out.println(sb.toString());
    }
}

การลบช่องว่าง

ตัวกรองที่ใช้กันทั่วไปจะลบช่องว่าง แท็บ และการขึ้นบรรทัดใหม่ด้วย Character.isWhitespace

ให้เก็บอักขระทุกตัวที่ไม่ใช่ช่องว่าง เพื่อบีบข้อความให้กระชับติดกัน

public class Main {
    public static void main(String[] args) {
        String text = " J a v a ";
        StringBuilder sb = new StringBuilder();
        for (char c : text.toCharArray()) {
            if (!Character.isWhitespace(c)) sb.append(c);
        }
        System.out.println(sb.toString());
    }
}

กรองแล้วนับ

คุณสามารถนำแนวคิดต่าง ๆ มารวมกันได้ โดยกรองให้เป็น String ที่สะอาดก่อน แล้วจึงวัดความยาว

ในที่นี้ เราจะนับเฉพาะตัวอักษรด้วยการกรองและอ่านค่า length()

public class Main {
    public static void main(String[] args) {
        String text = "a1b2c3";
        StringBuilder sb = new StringBuilder();
        for (char c : text.toCharArray()) {
            if (Character.isLetter(c)) sb.append(c);
        }
        System.out.println(sb.length());
    }
}

การนับตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก

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

อักขระแต่ละตัวจะผ่านการตรวจสอบที่เป็นอิสระต่อกันสองครั้ง และตัวนับที่ตรงกับเงื่อนไขจะเพิ่มขึ้น

public class Main {
    public static void main(String[] args) {
        String text = "JavaCode";
        int upper = 0, lower = 0;
        for (char c : text.toCharArray()) {
            if (Character.isUpperCase(c)) upper++;
            if (Character.isLowerCase(c)) lower++;
        }
        System.out.println(upper + " " + lower);
    }
}

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

การนับและการกรองเป็นงานที่พบได้ทุกวัน เช่น การตรวจสอบรหัสผ่าน การทำความสะอาดข้อมูลนำเข้าของผู้ใช้ หรือการนับประเภทของอักขระ

รูปแบบการวนซ้ำและตรวจสอบแบบเดียวกันรองรับงานทั้งหมดนี้ เพียงเปลี่ยนเงื่อนไขให้ตรงกับเป้าหมาย

if (Character.isDigit(c)) {
    count++;
}

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

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

ทบทวน

การนับใช้ตัวนับที่คุณเพิ่มค่าเมื่ออักขระผ่านการตรวจสอบ เช่น isDigit หรือ ==

การกรองจะสร้าง String ใหม่ที่เก็บไว้เฉพาะอักขระที่ต้องการ โดยควรใช้ StringBuilder เพื่อความเร็ว คุณสามารถเปลี่ยนเงื่อนไขเพื่อนับสระ ตัวอักษร ตัวเลข หรือลบช่องว่างได้

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

บทเรียน “การนับและกรองอักขระ” ฟรีหรือไม่

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

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

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

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

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

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

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

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

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

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

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