การใช้คำสั่ง แบบ if...else จัดทำโดย : Mr.POP พิมพ์
 Untitled Document

สวัสดีครับ บทความในตอนนี้จะเป็นตอนต่อจากตอนที่แล้วนะครับ มาย้อนกันสักนิดนึงว่าในตอนที่แล้วเราได้กล่าวถึงคำสั่งแบบ simple if ไป ซึ่งจะเป็นการ ตรวจสอบเงื่อนไขว่าถ้าเป็นจริงจะเข้าไปทำงานในกลุ่มคำสั่งที่เรากำหนดไว้ แต่ถ้าเป็นเท็จจะข้ามไป ถ้าใครลืมลองย้อนกลับไปดูในบทความตอนที่แล้วนะครับสำหรับในตอนนี้ เราจะพูดถึงเงื่อนไขในแบบที่ 2 คือ if...else กันต่อเลยนะครับ
2 .แบบ 2 เงื่อนไข (if...else) มีรูปแบบดังนี้

จากรูปแบบของคำสั่งจะเห็นว่าจะมีลักษณะการเขียนคล้ายกับแบบ simple if แต่จะมีการเพิ่มเติมคำว่า else เข้าไปด้วย ซึ่งการทำงานของคำสั่งแบบนี้นั้นจะทำการตรวจ สอบเงื่อนไขที่ if ก่อนว่าเป็นจริงหรือเท็จ โดยถ้าเป็นจริงจะไปทำงานในกลุ่มคำสั่งที่เรากำหนดไว้ใน if แต่ถ้าเป็นเท็จก็จะไปทำงานในกลุ่มคำสั่งที่อยู่ในส่วนของ else ซึ่งจะ เป็นเหมือนมีทางเลือก 2 ทางนั่นเอง ลองมาดูแผนภาพของคำสั่งแบบ if...else กันนะครับ

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


อธิบายโปรแกรม จากโปรแกรมใน main method จะประกาศตัวแปรไว้ 3 ตัวคือ x = 8 , y = 2 และตัวแปร z จากนั้นมาเจอคำสั่ง if โดยมีเงื่อไข ว่า x มากกว่าหรือเท่ากับ y ถ้าเงื่อนไขเป็นจริงจะเข้ามาทำคำสั่งภายในส่วนของ if ทันที คือให้หาค่าของ x-y และแสดงผลออกมา แต่ถ้าเงื่อนไขเป็นเท็จจะข้ามาทำส่วนของ else ของโปรแกรมคือ หาค่าของ x+y และแสดงผลออกมา เมื่อรันโปรแกรมนี้แล้วจะได้ผลลัพธ์คือ z = 10 นะครับ ให้ลองเปลี่ยนค่า x ให้น้อยกว่าค่า y ดูนะครับ แล้วลองรันโปรแกรมดูใหม่ครับว่า ผลออกมาจะเป็นอย่างไร?

ต่อไปผมจะมาเฉลยสิ่งที่ผมเคยถามไว้ในบทความคราวที่แล้วนะครับ ลองย้อนไปดูนะครับว่าผมทิ้งคำถามไว้ว่าอย่างไร สำหรับคนที่รู้แล้วก็อ่านผ่านไปได้เลยครับ สำหรับใคร ที่ยังไม่เคลียผมจะเฉลยให้ฟังว่า จากตัวอย่างที่ผมให้ไปคิดนั้นจะเห็นว่าผมไม่ได้ใส่เครื่องหมายปีกกาหลังจากที่ใช้คำสั่ง if ในกรณีนี้ถ้าหากว่าเงื่อนไขของ if เป็นจริงนั้นมันจะ ทำคำสั่งที่อยู่หลังจาก if เพียงแค่บรรทัดเดียวเท่านั้นครับ คือ z=x-y หลังจากนั้นก็จะทำคำสั่งในบรรทัดที่เหลือทั้งหมด เพราะมันจะมองว่าบรรทัดที่เหลือนั้นไม่ได้อยู่ในส่วน ของเงื่อยไข if นั่นเอง ดังนั้นถ้าคุณลองรันโปรแกรมดูจะเห็นว่า ไม่ว่าเงื่อนไขจะจริงหรือเท็จนั้นจะแสดงค่า z = ออกมา 2 ค่าเสมอ เราจึงควรระวังการใช้งานในส่วนนี้ให้ดี ด้วยนะครับ ให้ใช้เครื่องหมายปีกกาครอบคลุมให้ถูกที่ถูกทางไม่งั้นโปรแกรมเราจะทำงานผิดพลาดอย่างแน่นอน
สำหรับบทความนี้ผมคงขอจบเพียงเท่านี้ครับ ค่อยๆ เรียนรู้ไปทีละนิดครับ ไม่มีอะไรยากเกินไปสำหรับคนที่ใฝ่รู้ครับ ...


คุณอาจสนใจ
Rectangular Marquee (M)
Mr.GuruZ (81,298 - 22 ก.ย. 50)
การใช้คำสั่ง แบบ Nested if
Mr.POP (27,613 - 05 พ.ย. 49)
วิธีการเขียนซีดีให้มีไอคอนแปลก ๆ
เว็บไทยดีดี (15,386 - 29 ก.ย. 50)
สร้างพื้นหลังแบบ Matrix
langjuko (179,588 - 08 ต.ค. 51)
การทำ animation ต่างๆ
charoen (301,952 - 09 มิ.ย. 51)
การเปลี่ยนมุมมองในหน้าเอกสาร (ไม่ยากอย่างที่คิด)
อ้อม (19,220 - 13 ม.ค. 50)
วิธีแก้ไข Virus Handy Drive (Flashy.exe)
เว็บไทยดีดี (31,029 - 25 ส.ค. 50)
เชื่อมต่อ Flash MX กับเท็กซ์ไฟล์ และ XML (ตอนที่ 1)
Ching Ching (27,666 - 29 ก.ย. 50)