สนับสนุนโดย

วันอังคารที่ 13 พฤศจิกายน พ.ศ. 2561

การใช้งาน loop แบบต่างๆ

ในการเขียนโปรแกรมที่ต้องทำงานบางอย่างซ้ำๆ กันตลอดเวลา เราจะใช้ loop เพื่อให้มันทำซ้ำไปเรื่อยๆ จนกว่าจะถึงจุดออกจาก loop เช่น เราต้องการสั่งให้โปรแกรม พิมพ์คำว่า
Hello
ออกมาสัก 20 ครั้ง ถ้าต้องเขียน System.out.println ก็คงไม่ไหว ดังนั้นจึงต้องมีการใช้ loop

ปัจจุบันนี้ loop ในภาษา java มีด้วยกัน 4 แบบ ได้แก่
for
for in
do while
while



เดี๋ยวมาทำความเข้าใจกันไปทีละตัวครับ เริ่มจากตัวง่ายๆ ก่อนก็คือ for
มีโครงสร้างดังนี้

for (ค่าเริ่มต้น; เงื่อนไขให้ทำงาน; เงื่อนไขการเพิ่ม หรือลดค่า) {
ทำงาน
}

ตัวอย่างโค้ด
package hellojava;

public class ForTest {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println("i = " + i);
        }
    }
}

ผลการทำงาน
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9

อีกตัวคือ for in สำหรับอ่านข้อมูลจาก array ครับ คือสำหรับ loop แบบนี้จะใช้การอ่าน และเก็บค่าลงตัวแปรในแต่ละรอบไว้ โครงสร้างเป็นดังนี้
for (ตัวแปร : ตัวแปรอาเรย์) {
}

ตัวอย่างโค้ด
package hellojava;

public class ForTest {
    public static void main(String[] args) {
        String[] data = {"Hello", "Java", "World"};
        
        for (String str : data) {
            System.out.println("data = " + str);
        }
    }
}

ผลการทำงาน
data = Hello
data = Java
data = World

while loop
เป็นอีก loop ที่นิยมอ่านข้อมูลกับสิ่งที่เราไม่ทราบขนาดแน่ชัด ว่ามีเท่าไหร่กันแน่ loop ต้องทำกี่รอบกันแน่ ประมาณนั้น เช่นการอ่านค่าจากไฟล์ จากฐานข้อมูล หรือจาก network เป็นต้น มีโครงสร้างดังนี้

while (เงื่อนไขในการทำงาน) {
ทำงาน
}

ตัวอย่างโค้ด
package hellojava;

public class WhileTest {
    public static void main(String[] args) {
        int i = 0;
        
        while (i < 10) {
            i++;
            
            System.out.println("i = " + i);
        }
    }
}

ผลการทำงาน
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
i = 10


do while
นี่เป็น loop อีกชนิดหนึ่ง (สุดท้ายของบทความนี้) ที่ได้รับความนิยมพอๆ กันกับ loop แบบก่อนหน้า โดยจะแตกต่างไปนิดหน่อยคือว่า จะทำงานก่อนรอบนึงแล้วค่อยมาเชคเงื่อนไข หากจริงก็ทำงานต่อ ถ้าไม่จริงก็หยุดการทำงาน

โครงสร้าง
do {
ทำงาน
} while (เงื่อนไขให้ตรวจสอบ);

ตัวอย่างโค้ด
package hellojava;

public class DoWhileTest {
    public static void main(String[] args) {
        int i = 10;
        
        do {
            System.out.println("i " + i);
            i++;
        } while (i < 20);
    }
}

ผลการทำงาน
i 10
i 11
i 12
i 13
i 14
i 15
i 16
i 17
i 18
i 19

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

ไว้พบกันอีกในโอกาสหน้าครับ วันนี้ขอฝากไว้เท่านี้ก่อนเน้อ












1 ความคิดเห็น:

แสดงความคิดเห็น