For-Each Loop ใน Java [พร้อมตัวอย่างการเข้ารหัส]

เผยแพร่แล้ว: 2021-02-19

ภาษาการเขียนโปรแกรมทุกภาษาใช้การวนซ้ำเพื่อรันบล็อกโค้ดเดียวกันซ้ำๆ Java มีคำสั่งวนซ้ำประเภทต่างๆ กล่าวคือ สำหรับการวนซ้ำขณะวนซ้ำ do-while loop ลูปอีกประเภทหนึ่งที่นำมาใช้ในเวอร์ชัน Java 5.0 คือ for-each loop หรือที่เรียกว่า Enhanced for loop

มันใช้คำหลัก 'for' เดียวกันกับใน for วนซ้ำในการรวบรวมรายการเช่นอาร์เรย์ ใน for-each loop ไม่จำเป็นต้องเริ่มต้นตัวแปรตัวนับลูป แต่จะมีการประกาศตัวแปรพร้อมกับชื่ออาร์เรย์แทน เพื่อให้เข้าใจการใช้งานมากขึ้น ให้ตรวจสอบไวยากรณ์ของ for-each loop ใน Java

สารบัญ

ไวยากรณ์ของ For-Each Loop ใน Java

สำหรับ (data_type variable_name : array_name) {

งบ;

}

ในที่นี้ data_type คือชนิดข้อมูลของตัวแปรที่ประกาศด้วยชื่อ variable_name array_name คืออาร์เรย์ที่ตัวแปรจะวนซ้ำเพื่อดำเนินการคำสั่งภายในบล็อกลูป

For-Each Loop ทำงานอย่างไร?

For-each loop ใน Java ทำงานเหมือนกับลูปอื่นๆ วนรอบสำหรับแต่ละองค์ประกอบของอาร์เรย์จนถึงสุดท้าย ค่าขององค์ประกอบอาร์เรย์จะถูกเก็บไว้ในตัวแปรที่ประกาศด้วยลูป และการดำเนินการของคำสั่งจะเกิดขึ้นสำหรับการวนซ้ำแต่ละครั้ง

อ่าน: เงินเดือนนักพัฒนา Java ในอินเดีย

ตัวอย่างของ For-Each Loop ใน Java

ตัวอย่างที่ 1: พิจารณาตัวอย่างด้านล่างที่เพิ่มองค์ประกอบของอาร์เรย์และพิมพ์ผลลัพธ์

ตัวอย่างคลาส1 {

โมฆะคงที่สาธารณะหลัก (สตริง args []) {

จำนวนเต็ม[] = {1, 3, 5, 7, 9};

int sum=0;

สำหรับ (int var : นับ) {

ผลรวม = ผลรวม + var;

}

System.out.println("ผลรวมขององค์ประกอบอาร์เรย์" + ผลรวม);

}

}

ผลลัพธ์: ผลรวมขององค์ประกอบอาร์เรย์ 25

คำอธิบาย: ในโปรแกรมด้านบน สำหรับการวนซ้ำแต่ละครั้ง อิลิเมนต์อาร์เรย์จะถูกกำหนดให้กับ var และเพิ่มไปยังตัวแปรที่เรียกว่า sum

สำหรับการวนซ้ำครั้งแรก var = 1 และผลรวมซึ่งเดิมเป็น 0 จะถูกเพิ่มเข้าไปใน var กล่าวคือ 1 ดังนั้นผลรวมจะกลายเป็น 1 หลังจากการวนซ้ำครั้งแรก

สำหรับการทำซ้ำครั้งที่สอง var = 3 และ sum = sum + var = 1 + 3 = 4

สำหรับการทำซ้ำครั้งที่สาม var = 5 และ sum = 4 + 5 = 9

ด้วยวิธีนี้ ผลรวมจะได้รับการอัปเดตหลังจากการวนซ้ำแต่ละครั้ง และให้ผลรวมขององค์ประกอบทั้งหมดของอาร์เรย์

ตัวอย่างที่ 2: ข้อมูลโค้ดด้านล่างพิมพ์องค์ประกอบของคอลเลกชันสตริง

ตัวอย่างคลาส2 {

โมฆะคงที่สาธารณะหลัก (สตริง args []) {

String firstName[] = {"ปีเตอร์", "จอห์น", "แมรี่"};

สำหรับ (ชื่อ int: ชื่อจริง) {

System.out.println(“ชื่อคือ“ + ชื่อ);

}

}

}

เอาท์พุท:

ปีเตอร์

จอห์น

แมรี่

คำอธิบาย: ในตัวอย่างนี้ ตัวแปรที่ประกาศเป็นชื่อจะนำค่าของ firstName จากคอลเล็กชันของสตริงและพิมพ์ออกมา

For-Each Loop แตกต่างจาก For Loop อย่างไร

หากเราเขียนโค้ดข้างต้นโดยใช้ for loop จะเป็นดังนี้:

ตัวอย่างคลาส1 {

โมฆะคงที่สาธารณะหลัก (สตริง args []) {

จำนวนเต็ม[] = {1, 3, 5, 7, 9};

int sum=0;

สำหรับ (int var = 0; var < count.length; var ++) {

ผลรวม = ผลรวม + var;

}

System.out.println("ผลรวมขององค์ประกอบอาร์เรย์" + ผลรวม);

}

}

เมื่อเปรียบเทียบโค้ดของ for loop และ for-each loop จะเห็นได้ชัดว่าเขียนโค้ดโดยใช้ for-each loop ได้ง่าย ไม่จำเป็นต้องเริ่มต้นตัวแปรตัวนับและเพิ่มหรือลดในลูป for-each เนื่องจากลูปจะย้ายไปยังองค์ประกอบถัดไปในอาร์เรย์โดยอัตโนมัติ

ข้อดีของ For-Each Loop ใน Java

  • การใช้ for-each loop นั้นง่ายและทำให้โค้ดอ่านได้
  • for-each loop ไม่ได้ใช้ดัชนีของอาร์เรย์เพื่อข้ามผ่านในลูป
  • วนรอบนี้ช่วยลดโอกาสของข้อผิดพลาดในการเขียนโปรแกรม
  • for-each loop ทำงานเร็วกว่า for loop

ข้อเสียของ For-Each Loop ใน Java

มีข้อเสียบางประการของการใช้ for-each loop ดังที่อธิบายด้านล่าง:

  • เป็นไปไม่ได้ที่จะย้อนกลับในลำดับย้อนกลับใน for-each loop เช่นเดียวกับที่ทำใน for loop หรือในขณะที่ลดค่าตัวแปรตัวนับ
  • ไม่มีทางที่จะข้ามองค์ประกอบอาร์เรย์ในขณะที่ใช้ for-each loop
  • เป็นไปไม่ได้ที่จะอ้างถึงองค์ประกอบคี่หรือคู่ในอาร์เรย์ใน for loop โดยที่ตัวแปรตัวนับสามารถเพิ่มหรือลดลงได้ตั้งแต่สองตัวขึ้นไป

ชำระเงิน: แนวคิดและหัวข้อโปรเจ็กต์ Java

เรียนรู้ หลักสูตรซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

บทสรุป

การใช้ for-each loop ใน Java ทำให้โค้ดอ่านง่ายขึ้นและเข้าใจง่าย ดังนั้น ขอแนะนำให้ใช้ for-each loop แทน for loop อย่างไรก็ตาม มีข้อเสียคือไม่สามารถข้ามองค์ประกอบในลำดับย้อนกลับหรือข้ามองค์ประกอบอาร์เรย์ไม่ได้ แต่การใช้ 'break' และ 'continue' สามารถให้ผู้เขียนโค้ดแก้ไขโค้ดได้ตามความต้องการ Java เป็นภาษายอดนิยมสำหรับการพัฒนาซอฟต์แวร์ คุณสามารถเรียนรู้การพัฒนาซอฟต์แวร์จาก upGrad โดยสมัคร ปริญญาโทสาขาวิทยาการ คอมพิวเตอร์

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ PHP, การพัฒนาซอฟต์แวร์ฟูลสแตก, ลองดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์ฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง 9+ โครงการและการมอบหมาย สถานะศิษย์เก่า IIIT-B โครงการหลักในทางปฏิบัติและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

ลูปในการเขียนโปรแกรมคืออะไร?

การวนซ้ำเป็นวิธีการทำซ้ำโค้ดหนึ่งบรรทัดขึ้นไปตามจำนวนครั้งที่ระบุ สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อคุณมีคำแนะนำที่คุณต้องการทำซ้ำซ้ำแล้วซ้ำอีก หากไม่มีลูป คุณจะต้องเขียนคำสั่งทุกขั้นตอนทุกครั้งที่รันโปรแกรม การแบ่งโปรแกรมออกเป็นชิ้นเล็กๆ จะทำให้คุณสามารถโฟกัสไปที่แต่ละส่วนแยกกันได้ รหัสภายในลูปจะถูกดำเนินการหลายครั้งเท่ากับจำนวนครั้งที่ลูปวนซ้ำ การวนซ้ำจะดำเนินการทีละบรรทัด และเมื่อการวนซ้ำวนซ้ำเป็นครั้งสุดท้าย โปรแกรมจะดำเนินการต่อไปด้วยคำสั่งถัดไปหลังจากวนซ้ำ

ลูปประเภทต่าง ๆ ใน Java มีอะไรบ้าง

มีหลายประเภทของลูปใน Java วงแรกและน่าจะเป็นวงที่ใช้บ่อยที่สุดคือ for loop ในกรณีของ for loop คุณกำหนดโครงสร้างเช่น for (int i = 0; i <= 20; i++) {} ในที่นี้ ข้อความในวงเล็บปีกกาจะถูกดำเนินการ 21 ครั้ง ซึ่งหมายความว่าตราบใดที่ค่าของ i ที่เริ่มต้นจาก 0 น้อยกว่าหรือเท่ากับ 20 คำสั่งจะถูกดำเนินการหากไม่พบคำสั่ง break วงต่อไปเป็นวง while while loop จะดำเนินการต่อไปจนกว่าจะเป็นไปตามเงื่อนไขที่กล่าวถึงหรือหากพบคำสั่ง break ซึ่งในกรณีนี้จะออกจากลูป เวอร์ชันอื่นของ while loop คือ do while loop ข้อแตกต่างคือ do while loop ดำเนินการอย่างน้อยหนึ่งครั้ง เนื่องจากมีการระบุเงื่อนไขไว้ที่ส่วนท้ายของวงเล็บปีกกา การวนซ้ำอีกประเภทหนึ่งคือ foreach loop ซึ่งเป็นเวอร์ชันแบบง่ายของ for loop การวนซ้ำนี้ช่วยให้คุณสามารถสำรวจอาร์เรย์และวนซ้ำผ่านแต่ละองค์ประกอบของอาร์เรย์ได้

การใช้ลูปในการเขียนโปรแกรมคืออะไร?

ลูปเป็นโครงสร้างการเขียนโปรแกรมพื้นฐานที่ช่วยให้เราสามารถทำงานซ้ำๆ ได้ การใช้ลูปน่าจะเป็นเรื่องธรรมดาที่สุดในโปรแกรมคอมพิวเตอร์มาตรฐาน ลูปใช้สำหรับงานต่างๆ เช่น การอ่านและเขียนไฟล์หรืออาร์เรย์ การค้นหาหรือการเรียงลำดับผ่านรายการหรือข้อมูล และงานทั่วไปอื่นๆ อีกมากมาย