คำสั่งควบคุม (Control Statement) ถูกนำมาใช้เพื่อควบคุมการทำงานของโปรแกรม ทำให้โปรแกรมสามารถเลือกทำคำสั่งที่โปรแกรมเมอร์ต้องการ โดยการเลือกจะผ่านเงื่อนไข (condition) ซึ่งมีค่าเป็น true หรือ false
รูปแบบการเขียนเงื่อนไข (condition) ใน Java ใช้ equality operators (== และ !=) และ relational operator (>, <, >=, <=) สามารถสรุปรูปแบบต่างๆ ได้ตามตารางด้านล่าง
Standard algebraic equality or relational operator
|
Java equality or relational operator |
Sample Java condition |
Meaning of Java condition |
Equality operators |
= |
== |
x == y |
x เท่ากับ y |
≠ |
!= |
x != y |
x ไม่เท่ากับ y |
Relational operators |
> |
> |
x > y |
x มากกว่า y |
< |
< |
x < y |
x น้อยกว่า y |
≥ |
>= |
x >= y |
x มากกว่าหรือเท่ากับ y |
≤ |
<= |
x <= y |
x น้อยกว่าหรือเท่ากับ y |
ตัวอย่างและผลลัพธ์ของเงื่อนไข (condition)
int count = 10;
count == 20; // false
count == 10; // true
count != 10; // false
count != 20; // true
count > 5; // true
count < 5; // false
count >= 10; // true
count <= 10; // true
สังเกตุว่าค่าที่ได้จากคำสั่งเงื่อนไข (condition) จะได้ค่าเป็น true หรือ false แต่คำสั่งเงือนไขไม่สามารถอยู่โดดเดี่ยวได้ ต้องนำมาใช้ควบคู่กับตัวควบคุม (Control statement) เสมอในบทความนี้ ผู้เขียนจะอธิบายตัวควบคุมพื้นฐานของการเขียนโปรแกรมนั่นคือ
Control Statement แบบเงื่อนไข if
การใช้ if สามารถเขียนได้หลายรูปแบบเริ่มต้นที่แบบง่ายที่สุด
1. if ตัวเดียว
มีเงื่อนไขง่ายๆ คือ ถ้าเงื่อนไขภายใน if เป็นจริง (true) คำสั่งภายใน if จะทำงาน ถ้าเป็นเท็จ (false) ก็ข้ามไป
if (studentGrade >= 50)
System.out.println("Passed");
แสดงในลักษณะ Flowchart
2. if ... else
ถ้าเงื่อนไขภายใน if เป็นจริง (true) คำสั่งภายใน if จะทำงาน ถ้าเป็นเท็จ (false) ก็ข้ามไปทำภายใน else แทน
if ( grade >= 50 )
System.out.println("Passed");
else
System.out.println("Failed");
แสดงในลักษณะ Flowchart
3. if ..... else if
ถ้าเงื่อนไขภายใน if เป็นจริง (true) คำสั่งภายใน if จะทำงาน ถ้าเป็นเท็จ (false) ก็ข้ามไปทำภายใน else if เพื่อเช็คเงื่อนไขต่อไป ตัวอย่างแสดงการเขียนโปรแกรมเพื่อช่วยในการตัดเกรดโดยใช้ if .... else if
if ( studentGrade >= 80 )
System.out.println( "A" );
else if ( studentGrade >= 70 )
System.out.println( "B" );
else if ( studentGrade >= 60 )
System.out.println( "C" );
else if ( studentGrade >= 50 )
System.out.println( "D" );
else
System.out.println( "F" );
แสดงในลักษณะ Flowchart
นอกจากนี้ สามารถนำ if มาซ้อน if ได้เช่นกัน
if ( x > 5 ) {
if ( y > 5 )
System.out.println( "x and y are > 5" );
} else
System.out.println( "x is <= 5" );
ถ้าต้องการให้ภายใน if หรือ else ทำงานมากกว่า 1 คำสั่ง เราสามารถใช้ {.....} ครอบกลุ่มคำสั่งที่ต้องการได้
if ( grade >= 60 )
System.out.println( "Passed" );
else {
System.out.println( "Failed" );
System.out.println( "You must take this course again." );
}
บทความถัดไป
สอน Java ตอนที่ 6.2 Control Statement แบบเงื่อนไข switch