Java ถ้า ... อื่น
เงื่อนไข Java และคำสั่ง if
Java รองรับเงื่อนไขตรรกะปกติจากคณิตศาสตร์:
- น้อยกว่า: a < b
- น้อยกว่าหรือเท่ากับ: a <= b
- มากกว่า: a > b
- มากกว่าหรือเท่ากับ: a >= b
- เท่ากับa == b
- ไม่เท่ากับ: a != b
คุณสามารถใช้เงื่อนไขเหล่านี้เพื่อดำเนินการต่างๆ สำหรับการตัดสินใจที่แตกต่างกัน
Java มีคำสั่งเงื่อนไขต่อไปนี้:
- ใช้
if
เพื่อระบุบล็อกของรหัสที่จะดำเนินการ หากเงื่อนไขที่ระบุเป็นจริง - ใช้
else
เพื่อระบุบล็อกของรหัสที่จะดำเนินการ หากเงื่อนไขเดียวกันเป็นเท็จ - ใช้
else if
ระบุเงื่อนไขใหม่ที่จะทดสอบ หากเงื่อนไขแรกเป็นเท็จ - ใช้
switch
เพื่อระบุบล็อคทางเลือกมากมายของโค้ดที่จะดำเนินการ
คำสั่ง if
ใช้if
คำสั่งเพื่อระบุบล็อกของโค้ด Java ที่จะดำเนินการหากเงื่อนไขtrue
คือ
ไวยากรณ์
if (condition) {
// block of code to be executed if the condition is true
}
สังเกตว่าif
เป็นอักษรตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ (ถ้าหรือ IF) จะทำให้เกิดข้อผิดพลาด
ในตัวอย่างด้านล่าง เราทดสอบสองค่าเพื่อดูว่า 20 มากกว่า 18 หรือไม่ หากเงื่อนไขคือtrue
ให้พิมพ์ข้อความบางส่วน:
ตัวอย่าง
if (20 > 18) {
System.out.println("20 is greater than 18");
}
เรายังสามารถทดสอบตัวแปรได้:
ตัวอย่าง
int x = 20;
int y = 18;
if (x > y) {
System.out.println("x is greater than y");
}
ตัวอย่างอธิบาย
ในตัวอย่างข้างต้น เราใช้ตัวแปรสองตัวคือxและyเพื่อทดสอบว่า x มากกว่า y หรือไม่ (โดยใช้ตัว>
ดำเนินการ) เนื่องจาก x คือ 20 และ y คือ 18 และเรารู้ว่า 20 มากกว่า 18 เราพิมพ์ไปยังหน้าจอที่ "x มากกว่า y"
คำชี้แจงอื่น ๆ
ใช้else
คำสั่งเพื่อระบุกลุ่มของรหัสที่จะดำเนินการหากเงื่อนไขfalse
เป็น
ไวยากรณ์
if (condition) {
// block of code to be executed if the condition is true
} else {
// block of code to be executed if the condition is false
}
ตัวอย่าง
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
// Outputs "Good evening."
ตัวอย่างอธิบาย
ในตัวอย่างข้างต้น เวลา (20) มากกว่า 18 ดังนั้นเงื่อนไขfalse
คือ ด้วยเหตุนี้เราจึงไปที่else
เงื่อนไขและพิมพ์ไปที่หน้าจอ "สวัสดีตอนเย็น" หากเวลาน้อยกว่า 18 โปรแกรมจะพิมพ์คำว่า "Good day"
อย่างอื่นถ้างบ
ใช้else if
คำสั่งเพื่อระบุเงื่อนไขใหม่หากเงื่อนไขแรกfalse
คือ
ไวยากรณ์
if (condition1) {
// block of code to be executed if condition1 is true
} else if (condition2) {
// block of code to be executed if the condition1 is false and condition2 is true
} else {
// block of code to be executed if the condition1 is false and condition2 is false
}
ตัวอย่าง
int time = 22;
if (time < 10) {
System.out.println("Good morning.");
} else if (time < 20) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
// Outputs "Good evening."
ตัวอย่างอธิบาย
ในตัวอย่างข้างต้น เวลา (22) มากกว่า 10 ดังนั้นเงื่อนไขแรกคือ false
เงื่อนไขต่อไปใน
else if
คำสั่งก็คือ เช่นfalse
กัน ดังนั้นเราจึงย้ายไปยังelse
เงื่อนไข เนื่องจากเงื่อนไขที่ 1 และเงื่อนไขที่ 2 เป็นทั้งfalse
- และพิมพ์ไปที่หน้าจอ "สวัสดีตอนเย็น"
แต่ถ้าเป็นเวลา 14 ปี โปรแกรมของเราจะพิมพ์คำว่า "Good day"
Short Hand If...Else (ตัวดำเนินการแบบสามส่วน)
นอกจากนี้ยังมีตัวถูกดำเนินการแบบสั้น if else ซึ่งเรียกว่าตัวดำเนินการ ternaryเนื่องจากประกอบด้วยตัวถูกดำเนินการสามตัว สามารถใช้แทนที่โค้ดหลายบรรทัดด้วยบรรทัดเดียวได้ มักใช้เพื่อแทนที่คำสั่ง if else แบบง่าย:
ไวยากรณ์
variable = (condition) ? expressionTrue : expressionFalse;
แทนที่จะเขียนว่า
ตัวอย่าง
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
คุณเพียงแค่เขียน:
ตัวอย่าง
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);