switch, case, default

ถ้าไม่ใส่ break ให้กับแต่ละ case มันจะไหลไปที่ case ถัดไป

public class Test {
    public static void main(String[] args) {
        int i = 0;
        switch (i) {
            case 0:
                System.out.print("a");
            case 1:
                System.out.print("b");
            default:
                System.out.print("c");
        }
    }
}

เอาท์พุทคือ abc

บรรทัดที่ 9 คอมไพล์ไม่ผ่าน

public class Test {
    public static void main(String[] args) {
        int i = 0;
        int j = 1;
        switch (i) {
            case 0:
                System.out.print("a");
                break;
            case j:
                System.out.print("b");
                break;
            default:
                System.out.print("c");
                break;
        }
    }
}

สิ่งที่อยู่ใน case ต้องเป็น literal หรือตัวคงที่ ดังนั้นถ้าเปลี่ยน int j เป็น final int j โปรแกรมจะคอมไพล์ผ่าน

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

หนังสือ Java Keywords

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

One thought on “switch, case, default

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