เมื่อคุณคิดถึง มันมี "ifs" เยอะมากในชีวิตของเรา ถ้าร้านขายของชำเปิด เราสามารถเข้าไปซื้อของชำได้ มิฉะนั้น เราไม่สามารถ ถ้าเป็น 12 โมงเที่ยง แล้วถึงเวลาพักกลางวัน
โปรแกรมพึ่งพา "ifs" เท่ากับเรา ในการเขียนโปรแกรม "ifs" เรียกว่า conditional statements statements นี้อนุญาตให้คุณ run หรือไม่ run บล็อกโค้ด ขึ้นอยู่กับว่า condition เฉพาะถูกปฏิบัติตามหรือไม่
ในคู่มือนี้ เราจะอภิปรายว่า if statements ทำงานใน Java อย่างไร และทำไมจึงมีประโยชน์ เราจะเดินทางผ่านตัวอย่างเพื่อสาธิตว่าพวกมันทำงานอย่างไร
If Statements
บางครั้ง คุณไม่ต้องการบรรทัดโค้ดเฉพาะให้ run ในโปรแกรมของคุณ นี่คือที่มาของ conditional logic โดยใช้ if statement คุณสามารถ evaluate expression และขึ้นอยู่กับผลลัพธ์ของ expression นั้น run บล็อกโค้ด
if statement evaluate ว่า Boolean expression เป็น false หรือ true หาก expression นั้น true โค้ดจะถูก executed หาก expression เป็น false ไม่มีอะไรจะเกิดขึ้น บางครั้ง if statements เรียกว่า control flow statements
เปิดไฟล์ Java ใหม่และ paste โค้ดต่อไปนี้:
class MenuPrices { public static void main(String[] args) { String order = "Ham Sandwich"; if (order.equals("Ham Sandwich")) { System.out.println("The price of a " + order + " is $1.95."); } System.out.println("Done"); } } ในโค้ดนี้ เรา define ตัวแปรชื่อ order ซึ่งจัดเก็บค่า string "Ham Sandwich" เราจึงใช้ if statement ตรวจสอบว่า order ของเราเท่ากับคำว่า "Ham Sandwich" หรือไม่ หากใช่ ราคาของ ham sandwich จะถูกพิมพ์
Run โปรแกรม Java นี้ใน programming environment ของคุณ คุณจะเห็น response ต่อไปนี้:
81% ของผู้เข้าร่วมระบุว่ารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสงานทางเทคโนโลยีหลังจากเข้าร่วมบูทแคมป์ ได้รับการจับคู่กับบูทแคมป์วันนี้
นักศึกษาจบบูทแคมป์เฉลี่ยใช้เวลาน้อยกว่า 6 เดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มบูทแคมป์จนหางานแรก
The price of a Ham Sandwich is $1.95. Done
Order ที่เราระบุคือ "Ham Sandwich" ดังนั้นบรรทัดโค้ดนั้นถูก run มาเปลี่ยน order ของเราเป็น chicken sandwich:
String order = "Chicken Mayo Sandwich"; if (order.equals("Ham Sandwich")) { System.out.println("The price of a " + order + " is $1.95. "); } System.out.println("Done"); โค้ดของเราคืนค่า: Done เนื้อหาของ if statement ของเราไม่ถูก executed เพราะ condition ของเรา — order เท่ากับ "Ham Sandwich" — ไม่ได้ถูกปฏิบัติตาม
If Else Statements
if statement มีประโยชน์ แต่อะไรถ้าคุณต้องการทำอย่างอื่นหาก condition ของคุณไม่ evaluate เป็น true? นี่คือที่มาของ Java if else statement ที่ตั้งชื่ออย่างเหมาะสม
มาพูดว่าเราต้องการโปรแกรมของเราพิมพ์: This item is not on the menu. หากมันไม่สามารถหา order ที่เราป้อนได้ เราสามารถทำได้โดยการเพิ่ม else block เข้าโค้ดของเรา:
String order = "Chicken Mayo Sandwich"; if (order.equals("Ham Sandwich")) { System.out.println("The price of a " + order + " is $1.95. "); } System.out.println("Done"); หาก expression ของเรา evaluate เป็น false เนื้อหาของ else statement ของเราจะ execute เมื่อคุณ save และ run โปรแกรม คุณจะเห็นสิ่งต่อไปนี้:
This item is not on the menu. Done
เมื่อเราเปลี่ยน order กลับเป็น "Ham Sandwich" output ที่เราได้รับในตัวอย่างล่าสุดจะถูกคืน
Else if Statement
if..else statements สามารถจัดการสองผลลัพธ์ที่เป็นไปได้: ว่า condition ถูกปฏิบัติตาม หรือ condition ไม่ถูกปฏิบัติตาม เราสามารถใช้ statement ที่เรียกว่า else if เพื่อ evaluate เงื่อนไขเพิ่มเติม
พูดว่าเราต้องการตรวจสอบสามแซนด์วิชที่แตกต่างในโปรแกรมของเรา ราคาของพวกมันคือ:
- Ham Sandwich: $1.95
- Chicken Mayo Sandwich: $2.20
- Smoked Salmon Sandwich: $3.00
เพื่อทำให้โปรแกรมของเราทำงาน เราจะเพิ่ม else if statements เข้าไปบ้าง:
String order = "Chicken Mayo Sandwich"; if (order.equals("Ham Sandwich")) { System.out.println("The price of a " + order + " is $1.95. "); } else { System.out.println("This item is not on the menu."); } System.out.println("Done"); โปรแกรมของเราตอนนี้สามารถคืนค่าสี่ outputs ที่เป็นไปได้ หากเรา run โปรแกรมด้านบน เราจะได้ response ต่อไปนี้:
The price of a Chicken Mayo Sandwich is $2.20. Done
มาเปลี่ยนค่าของตัวแปร order ของเราเป็น "Smoked Salmon Sandwich" และ run โปรแกรมของเราอีกครั้ง:
The price of a Smoked Salmon Sandwich is $3.00. Done
คุณเห็นได้ว่าโปรแกรมของเราตอนนี้สามารถ evaluate multiple conditions ที่แตกต่างกันได้ เราสามารถเพิ่มเข้าไปได้เท่าไหร่ก็ได้ หากเราดำเนินร้านคาเฟ่ เราอาจต้องการ evaluate ต่อสิบ conditions ต่างๆ หนึ่งสำหรับแต่ละแซนด์วิชที่เราขาย
สรุป (และ Challenge)
If statements อนุญาตให้คุณควบคุม flow ของโปรแกรมของคุณได้อย่างมีประสิทธิภาพ โค้ดภายใน if statement จะ run เฉพาะเมื่อ condition ที่ระบุเป็น true คุณสามารถใช้ else...if statements ตรวจสอบว่าหนึ่งในหลาย conditions ถูกปฏิบัติตาม และ else statement ทำบางอย่างหากไม่มี condition ไหนถูกปฏิบัติตาม
พร้อมสำหรับ challenge ไหม? เขียนโปรแกรมที่คำนวณเกรดของนักเรียนในการทดสอบ dựa trênเกรดตัวเลขของพวกเขา นี่คือ grade boundaries สำหรับอ้างอิง:
- 85+ เป็น A
- 75+ เป็น B
- 65+ เป็น C
- 50+ เป็น D
- ต่ำกว่า 50 เป็น F
ตอนนี้คุณพร้อมที่จะเริ่มเขียน if statements ของคุณเองใน Java อย่างมืออาชีพแล้ว!