วิธีเขียน for Loop ใน Java

วิธีเขียน for Loop ใน Java

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





For Loop ใน Java

สำหรับลูปจะดำเนินการบล็อกของรหัสต่อไปจนกว่าจะตรงตามเงื่อนไข สิ่งสำคัญคือต้องสังเกตว่า for loop จะตรวจสอบเงื่อนไขที่จุดเริ่มต้นของลูป ไม่ใช่จุดสิ้นสุด ซึ่งหมายความว่าหากตรงตามเงื่อนไข การวนซ้ำจะไม่เริ่มต้น





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





for([statement1]; [condition]; [statement2]){
//code to execute each loop
}

คีย์เวิร์ด สำหรับ บ่งชี้ a for loop เงื่อนไขที่กำหนดระยะเวลาที่จะวนซ้ำจะอยู่ระหว่างวงเล็บ

คำสั่งแรกจะถูกรันหนึ่งครั้งเมื่อมีการเริ่มต้น for loop; เงื่อนไขกำหนดเมื่อวงควรหยุด



คำสั่งที่สองจะดำเนินการในตอนท้ายของทุกวง เครื่องหมายอัฒภาคทำเครื่องหมายจุดสิ้นสุดของ คำสั่ง1 และสภาพ

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





public class Main{
public static void main(String[] args) {
for(int i = 1; i <4; i++){
System.out.print(i);
}
}
}
//Output: 123

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

เมื่อรหัสลูปเสร็จสิ้นแล้ว ผม เพิ่มขึ้นทีละหนึ่งและการวนซ้ำเริ่มต้นอีกครั้ง ในตอนท้ายของวงที่สาม ผม เพิ่มขึ้นเป็นสี่ เมื่อการวนซ้ำเริ่มต้นขึ้น เงื่อนไขของเราจะเป็นไปตามเงื่อนไข ดังนั้นการวนซ้ำจึงหยุดลง





ที่เกี่ยวข้อง: แนวคิดหลักของ Java ที่คุณควรเรียนรู้เมื่อเริ่มต้นใช้งาน

ซ้อนกันสำหรับลูป

เมื่อคุณคุ้นเคยกับ for loop แล้ว คุณควรพยายามสร้าง for loop ที่ซ้อนกัน นี่คือเมื่อคุณมี for loop ภายใน for loop อื่น นี่เป็นเทคนิคขั้นสูงเพราะอาจเป็นเรื่องยากที่จะเข้าใจว่าลูปทั้งสองจะโต้ตอบกันอย่างไร วิธีที่ดีในการมองเห็นวิธีการทำงานของ nested for loops คือการสร้างรูปแบบต่อไปนี้ด้วย nested for loop

*
**
***

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

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

for(int lineCounter = 1; lineCounter <4; lineCounter++){
for(int starCounter = 1; starCounter <= lineCounter; starCounter++){
System.out.print('*');
}
System.out.print('
');
}

มาดูตัวอย่างนี้เพื่อทำความเข้าใจวิธีการทำงานกันดีกว่า

การวนรอบแรกคือการนับจำนวนเส้นที่เราทำ หลังจากวนซ้ำสามครั้ง ลูปจะหยุด

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

หลังจากที่ลูปสตาร์ของเราเสร็จสิ้น การวนซ้ำของบรรทัดจะสร้างบรรทัดใหม่โดยการพิมพ์ NS ซึ่งเป็นคำสั่งสำหรับขึ้นบรรทัดใหม่

วงอนันต์

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

ในการสร้างการวนซ้ำแบบไม่มีที่สิ้นสุด คุณสามารถใช้ไวยากรณ์ต่อไปนี้:

for(;;){
//code that never stops looping
}

ที่เกี่ยวข้อง: เว็บไซต์และแอพที่สามารถช่วยเมื่อเรียนรู้การเขียนโปรแกรม Java

การใช้ For Loop กับ Array

วิธีทั่วไปในการใช้ for loop คือการวนซ้ำผ่านอาร์เรย์ ตัวอย่างเช่น หากคุณต้องการพิมพ์สตริงทั้งหมดในอาร์เรย์ คุณไม่สามารถพูดง่ายๆ ได้ว่า

System.out.print([array]);

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

String[] words = {'Hello', ' ', 'World', '!'};

for(int i = 0; i System.out.print(words[i]);
}

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

เอาท์พุท:

Hello World!

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

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

for([dataType] [arrayElement] : [array]){
//code to be executed
}

ตัวอย่างก่อนหน้าของเราสามารถเขียนใหม่เป็น for-each loop โดยใช้ไวยากรณ์นี้:

String[] words = {'Hello', ' ', 'World', '!'};

for(String word : words){
System.out.print(word);
}

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

เมื่อใดควรใช้ For Loop

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

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

การจดจำใบหน้าเปรียบเทียบภาพถ่ายสองภาพออนไลน์
แบ่งปัน แบ่งปัน ทวีต อีเมล 9 โปรแกรมแก้ไขโค้ดฟรีที่ดีที่สุดสำหรับการเขียนแอปแรกของคุณ

โปรแกรมแก้ไขโค้ดที่ดีสามารถทำให้ชีวิตของโปรแกรมเมอร์ง่ายขึ้น แต่อันไหนดีที่สุดสำหรับคุณ?

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • การเขียนโปรแกรม
  • Java
  • การเขียนโปรแกรม
เกี่ยวกับผู้เขียน เจนนิเฟอร์ ซีตัน(21 บทความที่ตีพิมพ์)

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

เพิ่มเติมจาก Jennifer Seaton

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก