สำหรับแต่ละลูปใน Java

⚡ สรุปอย่างชาญฉลาด

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

  • 🔁 วัตถุประสงค์: ลูป for-each จะวนซ้ำไปทีละองค์ประกอบในอาร์เรย์หรือลิสต์โดยตรง ซึ่งช่วยลดปริมาณโค้ดลง
  • 🧮 ไม่มีตัวนับ: ต่างจากลูป for แบบดั้งเดิม ลูป for-each ไม่จำเป็นต้องใช้ดัชนี เงื่อนไข หรือการเพิ่มค่าใดๆ
  • 🧩 ไวยากรณ์: ประกาศตัวแปรชั่วคราวที่มีชนิดข้อมูลตรงกับคอลเลกชัน จากนั้นจึงประกาศคอลเลกชันที่จะวนซ้ำ
  • 🇧🇷 การเปรียบเทียบ: ตัวอย่างนี้แสดงให้เห็นผลลัพธ์ที่เหมือนกันจากลูปแบบนับจำนวนและลูปแบบ for-each
  • ⚠️ ข้อ จำกัด : ลูป for-each ไม่ระบุค่าดัชนี ดังนั้นจึงไม่สามารถแก้ไของค์ประกอบพื้นฐานได้อย่างง่ายดาย

สำหรับแต่ละลูปใน Java

Java สำหรับแต่ละอาร์เรย์

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

ไวยากรณ์:

for (<DataType of array/List> <Temp variable name> : <Array/List to be iterated>) {
    System.out.println();
    // Any other operation can be done with this temp variable.
}

วนซ้ำ / วนซ้ำอาร์เรย์ใน Java

มาดูตัวอย่างการใช้ String array ที่คุณต้องการวนซ้ำโดยไม่ใช้ตัวนับใดๆ พิจารณา String array arrData ที่เริ่มต้นดังนี้:

String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};

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

นี่เป็นแนวทางทั่วไปของลูป "for":

for (int i = 0; i < arrData.length; i++) {
    System.out.println(arrData[i]);
}

คุณจะเห็นการใช้งานตัวนับ และจากนั้นก็เห็นการใช้งานตัวนับนั้นในฐานะดัชนีสำหรับอาร์เรย์ Java จัดเตรียมวิธีการใช้ลูป "for" ที่จะวนซ้ำแต่ละองค์ประกอบของอาร์เรย์

นี่คือโค้ดสำหรับอาร์เรย์ที่เราประกาศไว้ก่อนหน้านี้:

for (String strTemp : arrData) {
    System.out.println(strTemp);
}

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

สำหรับแต่ละลูป ตัวอย่าง

นี่คือภาพแสดงตัวอย่างนักเรียนทั้งชั้นที่อธิบายตามคำอธิบายข้างต้น:

class UsingForEach {
  public static void main(String[] args) {
    String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
    //The conventional approach of using the for loop
    System.out.println("Using conventional For Loop:");
    for(int i=0; i< arrData.length; i++){
      System.out.println(arrData[i]);
    }
    System.out.println("\nUsing Foreach loop:");
    //The optimized method of using the for loop - also called the foreach loop
    for (String strTemp : arrData){
      System.out.println(strTemp);
    }
  }
}

วนซ้ำอาร์เรย์ใน Java

ผลลัพธ์ที่คาดหวัง:

Using conventional For Loop:
Alpha
Beta
Gamma
Delta
Sigma

Using Foreach loop:
Alpha
Beta
Gamma
Delta
Sigma

คำถามที่พบบ่อย

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

เครื่องมือ AI มักแนะนำให้ใช้ลูป for-each เพื่อเพิ่มความอ่านง่ายเมื่อไม่ได้ใช้ดัชนี ในขณะที่ keeping ลูปแบบมีดัชนีซึ่งตำแหน่งหรือการแก้ไของค์ประกอบมีความสำคัญ การเลือกใช้ขึ้นอยู่กับงานเฉพาะนั้นๆ

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

การเปลี่ยนค่าตัวแปรในลูปจะไม่ส่งผลต่อค่าขององค์ประกอบในอาร์เรย์ เนื่องจากตัวแปรนั้นเก็บสำเนาของค่าไว้ หากต้องการแก้ไของค์ประกอบในตำแหน่งเดิม ให้ใช้ลูป for แบบดั้งเดิมร่วมกับดัชนี

สรุปโพสต์นี้ด้วย: