while

ลูป while วนซ้ำจนกระทั่งเงื่อนไขเป็นเท็จ ดังนั้นลูปต่อไปนี้จึงวนไม่รู้จบ

while (true) {
   ...
}

เงื่อนไขต้องเป็น boolean expression (นิพจน์ที่คืนค่าเป็นบูลีน) เท่านั้น ไม่สามารถเป็นจำนวนเต็มเหมือนกับภาษา C โค้ดต่อไปนี้จึงคอมไพล์ไม่ผ่าน

while (1) {
    ...
}

ตัวอย่าง ใช้ลูป while กับ iterator

import java.util.*;

public class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList();
        list.add("somchai");
        list.add("somying");
        list.add("somporn");

        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            String s = it.next();
            System.out.println(s);
        }
    }
}

ผลคือ
somchai
somying
somporn

ตอนนี้ผมไม่นิยมเขียนแบบนี้แล้ว ใช้ enhanced for สะดวกกว่า

import java.util.*;

public class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList();
        list.add("somchai");
        list.add("somying");
        list.add("somporn");

        for (String s : list) {
            System.out.println(s);
        }
    }
}

ตัวอย่าง ใช้ลูป while เพื่ออ่านข้อมูลทุกบรรทัดใน text file

import java.io.*;

public class Test {
    public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("c:\\a.txt");
        BufferedReader br = new BufferedReader(fr);
        String line = br.readLine();
        while (line != null) {
            System.out.println(line);

            line = br.readLine();
        }
        br.close();
    }
}

เขียนโปรแกรม Java เบื้องต้น

หนังสือ Java Keywords

หากจะนำข้อความไปใช้ ต้องแสดงที่มา และห้ามใช้ในเชิงพาณิชย์

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s