Control Statement แบบเงื่อนไข Ternary Operation
การเขียนโค้ดที่สั้น กระชับ อ่านเข้าใจง่ายเป็นสิ่งที่นักพัฒนาต้องใช้ประสพการณ์ ฝึกฝน เริ่มต้นใหม่ๆ เราจะเริ่มต้นจาก if ... else ง่ายๆ เก่งขึ้นหน่อยลองเอา switch ... case มาใช้ ถึงบทความนี้มาแนะนำตัวสุดท้ายคือ Ternary Operation
การกำหนดค่าให้ตัวแปร (variable) จากเงื่อนไข (condition) สามารถเขียนในรูป if ... else ... ได้ดังนี้
if (condition) {
result = value1;
} else {
result = value2;
}
เมื่อแปลงเป็น Ternary Operation จะอยู่ในรูปแบบด้านล่าง
result = condition ? value1 : value2
โค้ดเมื่อแปลงเป็น Ternary Operation จะลดลงไปมาก การนำ Ternary Operation ใน Java ถูกนำไปใช้ในรูปแบบการกำหนดค่าให้ตัวแปรเป็นส่วนใหญ่
ตัวอย่างการเขียน Ternary Operation เพื่อหาค่าน้อยกว่า
int a = 10
int b = 5
min = (a < b ? a : b);
อธิบาย
- กำหนดค่า 10 ให้ตัวแปร a
- กำหนดค่า 5 ให้ตัวแปร b
- a < b เป็นจริงให้ กำหนดค่า min ด้วยตัวแปร a ถ้า a < b เป็นเท็จให้ กำหนดค่า min ด้วยตัวแปร b
ตัวอย่างการนำ Ternary Operation ไปใช้งานแบบต่างๆ
Source Code
public class TernaryOperation {
public static void main(String[] args) {
int a = 10;
int b = 5;
int min, max;
min = (a < b ? a : b);
max = (a > b ? a : b);
System.out.println("min = " + min);
System.out.println("max = " + max);
System.out.println("result = " + (1 > 2 ? 3 : 5));
System.out.println("result = " + ("a" == "b" ? "ab" : "no"));
System.out.println("result = " + ("a" != "b" ? "ab" : "no"));
}
}
Output
min = 5
max = 10
result = 5
result = no
result = ab
บทความถัดไป
สอน Java ตอนที่ 7.1 Control Statement แบบทำซ้ำ while