nested if: ่ java คำสั่งเลือกทำงานอย่างหนึ่งจากหลายทางเลือก
nested if หรือจะเรียกอีกอย่างว่า if… else if
โดยคำสั่ง nested if จะตรวจสอบนิพจน์จากหลายทางเลือก
และนั่นก็คือ แต่ละทางเลือกจะถูกกำหนดนิพจน์แต่ละทางเลือกไว้
ซึ่งแน่นอนว่า แต่ละทางเลือกนั้นต้องมีนิพจน์ที่ถูกกดหนดไว้แตกต่างกันไป
คำสั่ง nested if จะตรวจสอบนิพจน ์จนกว่าจะพบว่า ทางเลือกไหนมีนิพจน์ที่เป็นจริง(True) ก็จะทำงานในชุดคำสั่งนั้น โดยไม่สนทางเลือกอื่นแม้ยังไม่ได้ตรวจสอบ
เราเขียนตัวอย่างสั้น ๆ ของ คำสั่ง nested if พออธิบายได้ดังนี้
จากตัวอย่าง เป็นโปรแกรมตรวจสอบคะแนน ของ2วิชา ก็คือ วิชาA และวิชาB
หากคะแนนวิชา A ไม่ถึง20 ตัวโปรแกรมก็จะแจ้งว่าขาดกี่คะแนน คะแนนผ่านคือ20
หากคะแนนวิชา B ไม่ถึง30 ตัวโปรแกรมก็จะแจ้งว่าขาดกี่คะแนน คะแนนผ่านคือ30
บรรทัด7 สร้างออบเจ็กต์ scan จากคลาส Scanner เพื่อเตรียมใช้งานเมธอดรับข้อมูลทางแป้นพิมพ์
บรรทัด 9–11 รับข้อมูลวิชา A และ วิชาB เลือกเป็นข้อมูล int ด้วยเมธอด nextInt() เก็บในตัวแปร ชื่อ a,b
บรรทัด 12 ตรวจสอบว่า a มีคะแนนมากกว่าหรือเท่ากับ20 bมีคะแนนมากกว่าหรือเท่ากับ30 หรือไม่ หากตรวจพบว่าเป็นจริงก็จะทำงานในบรรทัด 13 ก็คือแสดงผลว่าผ่าน
หากตรวจว่าเป็นเท็จ จะทำงานตรวจสอบเงื่อนไขถัดไป คือบรรทัด14
บรรทัด 14 ตรวจสอบ a มีคะแนนน้อยกว่า20 และ b มีคะแนนน้อยกว่า30หรือไม่
หากตรวจพบว่าจริงจะทำงานใน บรรทัด15
หากตรวจสอบว่าเป็นเท็จ จะทำงานตรวจสอบเงื่อนไขถัดไป คือบรรทัด16
บรรทัด16 ตรวจสอบ a มีคะแนนน้อยกว่า20หรือไม่
หากตรวจพบว่าเป็นจริงจะทำงานในบบรทัด17
หากตรวจพบว่าเป็นเท็จ จะทำงานตรวจสอบเงื่อนไขถัดไป คือบรรทัด18
บรรทัด18 ตรวจสอบb มีคะแนนน้อยกว่า30หรือไม่
หากตรวจพบว่าเป็นจริงจะทำงานในบบรทัด19
หากตรวจพบว่าเป็นเท็จ จะจบการทำงาน
จากตัวอย่างเราใส่คะแนนวิชาA จำนวน19 วิชา Bจำนวน30
พอรันโปรแกรม ผลลัพธ์ที่ได้คือขาดคะแนนวิชาA จำนวน1คะแนนจากคะแนนผ่านที่กำหนดไว้คือ20