1. ภาพรวม
ในแง่พื้นฐานที่สุดโปรแกรมคือรายการคำสั่ง โครงสร้างควบคุมคือบล็อกการเขียนโปรแกรมที่สามารถเปลี่ยนเส้นทางที่เราดำเนินการตามคำสั่งเหล่านั้น
ในบทช่วยสอนนี้เราจะสำรวจโครงสร้างการควบคุมใน Java
โครงสร้างควบคุมมีสามประเภท:
- Conditional Branches ซึ่งเราใช้ในการเลือกระหว่างสองเส้นทางขึ้นไป มีสามประเภทอยู่ใน Java: ถ้า / อื่น ๆ / อื่นถ้า , ผู้ประกอบ ternaryและสวิทช์
- ลูปที่ใช้ในการวนซ้ำผ่านค่า / อ็อบเจ็กต์หลายค่าและรันโค้ดบล็อกซ้ำ ประเภทวงพื้นฐานใน java มีที่สำหรับ , ในขณะที่และทำในขณะที่
- Branching Statements ซึ่งใช้เพื่อปรับเปลี่ยนโฟลว์ของการควบคุมในลูป มีสองประเภทอยู่ใน Java: แบ่งและดำเนินการต่อไป
2. ถ้า / อื่น / อื่นถ้า
หาก / อื่นคำสั่งเป็นส่วนใหญ่พื้นฐานของโครงสร้างการควบคุม แต่ยังสามารถได้รับการพิจารณาพื้นฐานของการตัดสินใจในการเขียนโปรแกรม
ในขณะที่ถ้าสามารถนำมาใช้ด้วยตัวเองที่พบมากที่สุดใช้สถานการณ์คือการเลือกระหว่างสองเส้นทางด้วยหาก / อื่น :
if (count > 2) { System.out.println("Count is higher than 2"); } else { System.out.println("Count is lower or equal than 2"); }
ในทางทฤษฎีเราสามารถเชื่อมโยงหรือซ้อนกันได้ไม่ จำกัดถ้า / elseบล็อก แต่จะส่งผลกระทบต่อความสามารถในการอ่านโค้ดและนั่นเป็นสาเหตุที่ไม่แนะนำ
เราจะสำรวจข้อความอื่นในส่วนที่เหลือของบทความนี้
3. ตัวดำเนินการ Ternary
เราสามารถใช้ตัวดำเนินการ ternary เป็นนิพจน์ชวเลขที่ทำงานเหมือนคำสั่งif / else
มาดูตัวอย่างif / elseของเราอีกครั้ง:
if (count > 2) { System.out.println("Count is higher than 2"); } else { System.out.println("Count is lower or equal than 2"); }
เราสามารถ refactor สิ่งนี้ด้วย ternary ได้ดังนี้:
System.out.println(count > 2 ? "Count is higher than 2" : "Count is lower or equal than 2");
แม้ว่า ternary จะเป็นวิธีที่ยอดเยี่ยมในการทำให้โค้ดของเราอ่านง่ายขึ้น แต่ก็ไม่ได้เป็นการทดแทนif / else ที่ดีเสมอไป
4. สวิตช์
หากเรามีหลายกรณีให้เลือกเราสามารถใช้คำสั่งสลับได้
ลองดูตัวอย่างง่ายๆอีกครั้ง:
int count = 3; switch (count) { case 0: System.out.println("Count is equal to 0"); break; case 1: System.out.println("Count is equal to 1"); break; default: System.out.println("Count is either negative, or higher than 1"); break; }
ข้อความif / elseสามรายการขึ้นไปอาจอ่านได้ยาก ในฐานะที่เป็นวิธีแก้ปัญหาที่เป็นไปได้เราสามารถใช้สวิตช์ดังที่เห็นด้านบน
และโปรดทราบว่าสวิตช์มีขอบเขตและข้อ จำกัด ในการป้อนข้อมูลที่เราต้องจำไว้ก่อนใช้งาน
5. ลูป
เราใช้การวนซ้ำเมื่อเราต้องใช้รหัสเดิมซ้ำหลาย ๆ ครั้งติดต่อกัน
มาดูตัวอย่างการเทียบเคียงสำหรับและในขณะที่ประเภทของลูป:
for (int i = 1; i <= 50; i++) { methodToRepeat(); } int whileCounter = 1; while (whileCounter <= 50) { methodToRepeat(); whileCounter++; }
โค้ดทั้งสองบล็อกด้านบนจะเรียกmethodToRepeat 50 ครั้ง
6. หยุดพัก
เราจำเป็นต้องใช้ตัวแบ่งเพื่อออกจากลูปก่อนเวลา
มาดูตัวอย่างสั้น ๆ :
List names = getNameList(); String name = "John Doe"; int index = 0; for ( ; index < names.length; index++) { if (names[index].equals(name)) { break; } }
ที่นี่เรากำลังมองหาชื่อในรายชื่อและเราต้องการหยุดค้นหาเมื่อพบแล้ว
โดยปกติการวนซ้ำจะเสร็จสิ้น แต่เราใช้การหยุดตรงนี้เพื่อลัดวงจรและออกก่อนเวลา
7. ดำเนินการต่อ
ใส่เพียงแค่ดำเนินการต่อหมายถึงการข้ามส่วนที่เหลือของลูปที่เราอยู่:
List names = getNameList(); String name = "John Doe"; String list = ""; for (int i = 0; i < names.length; i++) { if (names[i].equals(name)) { continue; } list += names[i]; }
ที่นี่เราข้ามการต่อท้ายชื่อที่ซ้ำกันในรายการ
ดังที่เราได้เห็นที่นี่การแบ่งและดำเนินการต่ออาจเป็นประโยชน์เมื่อทำซ้ำแม้ว่ามักจะสามารถเขียนซ้ำได้ด้วยคำสั่งreturnหรือตรรกะอื่น
8. สรุป
ในบทความสั้น ๆ นี้เราได้เรียนรู้ว่าโครงสร้างการควบคุมคืออะไรและจะใช้มันเพื่อจัดการการควบคุมโฟลว์ในโปรแกรม Java ของเราได้อย่างไร
โค้ดทั้งหมดที่นำเสนอในบทความนี้มีอยู่บน GitHub