3. การเลือกทำหรือคำสั่งเงื่อนไข

___________________

รับสอนเขียนJAVA , C# , VB.net

โทร 0853507540

___________________

 

 

 

3. การเลือกทำหรือคำสั่งเงื่อนไข

            คำสั่งเงื่อนไขเป็นหนึ่งในคำสั่งสำหรับการควบคุมโปรแกรมซึ่งอีกอันได้แก่คำสั่งทำซ้ำ ซึ่งทั้ง 2 อย่างนี้มีความสำคัญต่อการเขียนโปรแกรมต่อๆไปเป็นอย่างมาก จึงควรมีต้องฝึกให้ชำนาญ

เงื่อนไข if

เป็นเงื่อนที่ตรวจสอบว่าสิ่งที่ภายใต้เงื่อนไงที่เขียนเอาไว้เป็นจริงหรือไม่ ถ้าจริงจะทำตามเงื่อนที่เขียนไว้ ถ้าไม่เป็นไปตามเงื่อนไขก็จะไม่ทำตามคำสั่ง จะไปตรวจสอบคำสั่งที่อยู่ถัดจาก if ออกไป

 

if(เงื่อนไข)

{

            คำสั่งที่1;  // มีได้มากกว่า 1 คำสั่ง

}

คำสั่งที่2  // มีได้มากกว่า 1 คำสั่ง

รูป 3-1

 

 

ถ้ามีคำสั่งเดียวภายในเงื่อนไข if ไม่ต้องมี { } ได้ เช่น

If(number%2 == 0)

{

            System.out.println(“even number”);

}

เขียนแบบไม่มี { } ก็ได้

If(number%2 == 0)      System.out.println(“even number”);

แต่ถ้ามีมากกว่า 1 ต้องใส่ { } ให้เรียบร้อยจะเห้นได้จากตัวอย่างต่อๆไป

 

ตัวอย่าง

รูป 3-2

โปรแกรมนี้ประกาศตัวแปรเป็นตัวเลขจำนวนเต็มถามว่าจำนวนเต็มนี้เป็นเลขคู่หรือไม่ ซึ่งการจะรู้ว่าเป็นเลขคู่หรือไม่ ต้องรู้ว่า เลขคู่คือตัวเลขที่เมื่อเอาสองไปหารแล้วลงตัว

บรรทัดที่ 6 : ประกาศตัวแปร number เป็นชนิด int

บรรทัดที่ 8 : สร้างเงื่อนไข if ถามว่า number หาร 2 แล้วเศษเป็นศูนย์หรือไม่

บรรทัดที่ 10 : เขียนคำสั่ง ถ้าเงื่อนไขเป็นจริงให้ ให้บอกว่าตัวเลขนั้นเป็นเลขคู่

ได้ผลลัพธ์ใน console ดังนี้

รูป 3-3

คำสั่ง if else

            คำสั่ง if เป็นคำสั่งที่ตรวจสอบว่าเงื่อนไขเป็นจริงหรือไม่ หากจริงจะทำตามคำสั่ง แต่ไม่บอกว่าถ้าเท็จต้องทำอะไรหรือไม่ ส่วน if else จะเพิ่มเติมจาก if ขึ้นมาว่าถ้าจริงให้ทำอะไร หากเท็จให้ทำอะไรต่อ ก็จะเป็นการตรวจสอบเงื่อนไขให้สมบูรณ์ขึ้น

 

 

if(เงื่อนไข)

{

            คำสั่งที่1;  // มีได้มากกว่า 1 คำสั่ง

}

else

{

คำสั่งที่2;  // มีได้มากกว่า 1 คำสั่ง

รูป3-4

 

 

}

คำสั่งอื่น;

 

ตัวอย่าง

รูป 3-5

 

            โปรแกรมนี้ต้องการดูว่าคะแนนสอบผ่านหรือไม่หากมากกว่าหรือเท่ากับ 50 คะแนนถือว่าผ่าน ถ้าไม่ถือว่าสอบไม่ผ่าน

บรรทัดที่ 8 : สร้างเงื่อนไขถามว่าคะแนนมากว่าหรือเท่ากับ50หรือไม่

บรรทัดที่10-11: หากใช่ ให้แสดงข้อความตามคำสั่งทั้งสอง

บรรทัดที่ 14 : หากเงื่อนไขเป็นเท็จ ให้ทำตามคำสั่งในบรรทัดที่ 16-18 จากนั้นให้ออกจากเงื่อนไข

 

นอกจากรูปแบบ

if(เงื่อนไข)

{

            คำสั่งที่1;  // มีได้มากกว่า 1 คำสั่ง

}

else

{

คำสั่งที่2;  // มีได้มากกว่า 1 คำสั่ง

}

คำสั่งอื่น;

 

คำสั่ง if else สามาเขียนได้ในรูปแบบหนึ่งคือ ตัวแปร = เงื่อนไข? คำสั่ง1:คำสั่ง 2;

            c = a > b ? a : b;

            a มากกว่า b หรือไม่ ถ้าใช่ให้ทำ a ถ้าไม่ใช่ ให้ทำ b

เงื่อนไขแบบ Nested if

            คือจะมี การใช้ if else ต่อกันยาวมากกว่า 1 ครั้งติดกัน จึงเรียกว่า Nested if แปลว่า if ที่ซ้อนๆกัน ช่วยในการตรวจสอบ เงื่อนไขที่ซับซ้อนมากขึ้น กล่าวก็คือมีหลายเงื่อนไข

if(เงื่อนไข)

{

            คำสั่งที่1;  // มีได้มากกว่า 1 คำสั่ง

}

else if(เงื่อนไข)

{

คำสั่งที่2;  // มีได้มากกว่า 1 คำสั่ง

}

else if(เงื่อนไข)

{

คำสั่งที่3;  // มีได้มากกว่า 1 คำสั่ง

}

รูป3-6

บรรทัดที่ 9 : ประกาศตัวแปร day เป็นชนิด int

บรรทัดที่ 10 : เรียกใช้คำสั่ง Scan สำหรับ input ข้อมูลจากแป้นพิมพ์

บรรทัดที่ 11 :แสดงผลให้รับข้อมูลเป็นเลขจำนวนเต็ม 1-7 บรรทัดที่ 12 ให้เก็บสิ่งที่ input เข้ามาใส่ไว้ในตัวแปล day

บรรทัด14-61 : จากนั้นตรวจสอบด้วยเงื่อนไข if else ต้องตรวจสอบปีกกาให้ครบคู่กัน

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

รูป 3-7

 

ผลลัพธ์ที่ได้

รูป 3-8

 

เงื่อนไขแบบ switch-case

            เป็นอีกรูปแบบหนึ่งของคำสั่งเงื่อนไข เมื่อเรากำหนดเงื่อนไขขึ้น โปรแกรมจะทำการตรวจสอบว่าตรงกับกรณีใดๆที่กำหนดเอาไว้หรือหากมีจะทำกรณีนั้นและจบโปรแกรม

 

switch(ตัวแปรหรือนิพจน์ที่ต้องการตรวจสอบ)

{

            case ค่าที่ 1:

                        คำสั่งที่ 1;

                        break;

case ค่าที่ 2:

                        คำสั่งที่ 2;

                        break;

// ใส่ case เท่าที่ต้องการ

            default :

                        คำสั่งที่ 3;

}

break เป็นสิ่งที่ลืมไม่ได้ในแต่ละ case เพราะเป็นคำสั่งหยุดการทำงานจากเงื่อนไขทันที จะได้ไม่ตรวจสอบ case ที่เหลืออีก (ถ้าเป็น ลูป(loop) คำสั่ง break จะเป็นการออกจากลูป)

default คล้ายกับ else ใน if else กล่าวคือ เป็นส่วนที่ถ้าสิ่งที่รับเข้ามาไม่ตรงกับ case ไหนเลย ก็ให้ กำหนดว่าจะทำคำสั่งอะไร

ตัวอย่าง

รูป 3-9

บรรทัดที่ 9-12 : เป็นการประกาศตัวแปรและรับตัวเลขจากแป้นพิมพ์มาใส่ในตัวแปร

บรรทัดที่ 14 : ใช้คำสั่งเงื่อนไขแบบ switch-case รับตัวแปร num มาตรวจสอบ case

บรรทัดที่ 16-18 : ถ้าเลขที่รับเข้ามาเป็น เลข 1 จะตรงกับ case 1 ก็จะทำคำสั่งแสดงผลออกทางหน้าจอว่า

THE SELFLESS และ case อืนๆก็จะออกตามคำสั่งที่อยู่ในปีกกา

บรรทัดที่ 32 : default หากผู้ใช้ใส่ตัวเลขเข้ามาเกินกว่า 1-5 ก็จะไม่อยู่ใน case ที่เขียนลงไปให้แสดงผลคำว่า

DIVERGENT

แผนผังการเรียนเขียนโปรแกรม

 

___________________

รับสอนเขียนJAVA , C# , VB.net

โทร 0853507540

___________________

 

ใส่ความเห็น