สวัสดีครับ
บทความคราวที่แล้วผมได้พูดถึงการ
Casting ข้อมูลไป เป็นอย่างไรบ้างครับคงไม่ยากไปใช่ไหมครับ สำหรับคนที่เพิ่งเริ่มเขียนก็อย่าเพิ่งท้อ
นะครับพยายามทำความเข้าใจให้ได้เพราะในบทต่อๆ ไปเนื้อหาจะเข้มข้นขึ้นเรื่อยๆ แล้วครับ
ส่วนในบทนี้ผมจะมาเข้าเรื่องของ คำสั่งควบคุม(Control Statement) ซึ่งจะเป็นคำสั่งที่ใช้ควบคุมโปรแกรมของเราให้มีประสิทธิภาพในการทำงานมากขึ้นครับ
คำสั่งเหล่านี้จะเป็นคำสั่งที่เขียนขึ้นเพื่อให้โปรแกรมมีทางเลือกหรือทำให้โปรแกรม
มีการทำงานแบบวนซ้ำหรือวนลูป(Loop) นั่นเอง เรามาเริ่มที่คำสั่งแรกกันเลยนะครับ
คำสั่ง if
เป็นคำสั่งที่ใช้ในการตรวจสอบเงื่อนไขว่าเป็นจริงหรือเท็จ
โดยถ้าเป็นจริงจะไปทำงานในกลุ่มคำสั่งที่เรากำหนดไว้ และถ้าเป็นเท็จก็จะไปทำงานอีกจุดหนึ่งซึ่งเป็นทางเลือก
อีกทางหนึ่งในโปรแกรม ผมจะแบ่งรูปแบบของคำสั่งออกเป็น 3 แบบ คือ แบบเงื่อนไขเดียว
(simple if) ,แบบ 2 เงื่อนไข (if…else) และแบบซ้อน (nested if) นะครับ ในบทความนี้ผมจะพูดถึงแบบเงื่อนไขเดียวก่อนนะครับ
1 .แบบเงื่อนไขเดียว (simple if) มีรูปแบบดังนี้
![]() |
เราจะเห็นรูปแบบในการเขียนของคำสั่งนี้นะครับ โดยเงื่อนไขในวงเล็บนั้นจะเป็นประโยคทางตรรก ถ้าตรวจสอบแล้วเป็นจริงก็จะเข้ามาทำงานในกลุ่มคำสั่งที่เรากำหนด ไว้ในขอบเขตของเครื่องหมายปีกกา แต่ถ้าเป็นเท็จก็จะข้ามไปทำส่วนต่อไปของโปรแกรมทันที มาลองดูแผนภาพเพื่อเพิ่มความเข้าใจกันอีกทีนะครับ
![]() |
ดูจากแผนภาพแล้วพอจะเข้าใจรูปแบบเพิ่มมากขึ้นแล้วนะครับ
จะเห็นว่าเมื่อเงื่อนไขเป็นจริงจะวิ่งมาตามลูกศรเข้ามาทำตามกลุ่มคำสั่งที่เรากำหนด
แต่ถ้าเงื่อนไขเป็นเท็จก็จะ วิ่งข้ามมาที่คำสั่งถัดไปซึ่งก็คือส่วนต่อไปของโปรแกรมที่ไม่ได้เกี่ยวข้องกับคำสั่ง
if นั่นเอง รูปแบบนี้เป็น simple if นะครับ ลองมาดูตัวอย่างที่เป็นโปรแกรมกันเลยครับ
![]() |
อธิบายโปรแกรม จากโปรแกรมจะมีชื่อคลาสเป็น
SimIF ใน main method จะประกาศตัวแปรไว้ 3 ตัวคือ x = 8 , y = 2 และตัวแปร z จากนั้นมาเจอคำสั่ง
if โดยมีเงื่อไข ว่า x มากกว่าหรือเท่ากับ y ถ้าเงื่อนไขเป็นจริงจะเข้ามาทำคำสั่งภายในเครื่องหมายปีกกาทันที
คือให้หาค่าของ x-y และแสดงผลออกมา แต่ถ้าเงื่อนไขเป็นเท็จจะข้ามาทำส่วน ต่อไปของโปรแกรมคือ
หาค่าของ x+y และแสดงผลออกมา เมื่อรันโปรแกรมนี้แล้วจะได้ผลลัพธ์คือ z = 6 และ
z = 10 นะครับ ให้ลองเปลี่ยนค่า x ให้น้อยกว่าค่า y ดูนะครับ แล้วลองรันโปรแกรมดูใหม่ครับว่าผลออกมาจะเป็นอย่างไร?
ถ้าใครเข้าใจโปรแกรมในส่วนข้างบนแล้วก็ลองมาดูโปรแกรมต่อไปนี้ดูนะครับแล้วลองแก้ไขโปแกรมให้ผมดูซักหน่อย
และอธิบายเหตุการณ์ที่เกิดขึ้นได้ไหมครับ ในส่วนนี้คิด เสียว่าเป็นแบบฝึกหัดให้ฝึกกันสังเกตนะครับ
![]() |
โปรแกรมที่ท่านเห็นจะเหมือนกับโปรแกรมในตอนแรกนั่นแหละครับ เพียงแต่ว่าผมได้เอาเครื่องหมายปีกกาของ if ออกไปลองแก้ไขตามโจทย์ดูนะครับแล้วลองรันโปรแกรมดู มันจะมีข้อผิดพลาดอยู่ครับ ลองแก้โปรแกรมให้ถูกต้องดูนะครับและผลจากการรันนั้นเกิดอะไรขึ้นบ้างลองทำความเข้าใจดูนะครับมันมีความหมายอะไรบ้างอย่างอยู่ ในบทความ หน้าผมจะมาเฉลยให้ครับ สำหรับบทความนี้ผมขอจบแค่เรื่องของ simple if ไว้ก่อนนะครับ เดี๋ยวคราวหน้ามาว่ากันด้วยเรื่องของคำสั่งแบบ 2 เงื่อนไข (if…else) กันต่อครับ ขอบคุณทุกท่านที่ติดตามบทความครับ...
|
|



