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 ค่าเสมอ เราจึงควรระวังการใช้งานในส่วนนี้ให้ดี
ด้วยนะครับ ให้ใช้เครื่องหมายปีกกาครอบคลุมให้ถูกที่ถูกทางไม่งั้นโปรแกรมเราจะทำงานผิดพลาดอย่างแน่นอน
สำหรับบทความนี้ผมคงขอจบเพียงเท่านี้ครับ ค่อยๆ เรียนรู้ไปทีละนิดครับ ไม่มีอะไรยากเกินไปสำหรับคนที่ใฝ่รู้ครับ
...
|