คำสั่งโปรแกรมที่มีโครงสร้างตามลำดับสามารถดำเนินการได้เพียงครั้งเดียวเท่านั้น หากคุณต้องการดำเนินการแบบเดียวกันหลายครั้ง คุณต้องใช้โครงสร้างแบบวนซ้ำ
โครงสร้าง loop หลักใน Java มีสามโครงสร้าง:
ในขณะที่วนซ้ำ
ทำ...ในขณะที่วนซ้ำ
สำหรับวง
ใน Java5 มีการแนะนำ for loop ที่ปรับปรุงแล้วสำหรับอาร์เรย์เป็นหลัก
แม้ว่าจะเป็นลูปพื้นฐานที่สุด แต่โครงสร้างของมันคือ:
ในขณะที่ (นิพจน์บูลีน) {
// เนื้อหาวนซ้ำ}
ตราบใดที่นิพจน์บูลีนเป็นจริง เนื้อความของลูปจะยังคงดำเนินการต่อไป
การทดสอบชั้นเรียนสาธารณะ {
โมฆะคงที่สาธารณะ main (String args []) {
อินท์ x = 10;
ในขณะที่( x < 20 ) {
System.out.print("ค่าของ x : " + x );
เอ็กซ์++;
System.out.print("n");
-
-
-
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
ค่า x: 10
ค่า x : 11
ค่า x : 12
ค่า x : 13
ค่า x : 14
ค่า x: 15
ค่า x: 16
ค่า x : 17
ค่า x : 18
ค่า x : 19
สำหรับคำสั่ง while ถ้าไม่ตรงตามเงื่อนไข จะไม่สามารถป้อนลูปได้ แต่บางครั้งเราจำเป็นต้องดำเนินการอย่างน้อยหนึ่งครั้ง แม้ว่าจะไม่ตรงตามเงื่อนไขก็ตาม
ลูป do... While นั้นคล้ายคลึงกับลูป while ยกเว้นว่าลูป do... While จะถูกดำเนินการอย่างน้อยหนึ่งครั้ง
ทำ {
//คำสั่งรหัส}ในขณะที่(นิพจน์บูลีน);
หมายเหตุ: นิพจน์บูลีนอยู่หลังเนื้อหาลูป ดังนั้นบล็อกคำสั่งจึงถูกดำเนินการก่อนที่จะตรวจพบนิพจน์บูลีน หากนิพจน์บูลีนประเมินเป็นจริง บล็อกคำสั่งจะถูกดำเนินการจนกว่านิพจน์บูลีนจะประเมินเป็นเท็จ
การทดสอบชั้นเรียนสาธารณะ {
โมฆะคงที่สาธารณะ main (String args []) {
อินท์ x = 10;
ทำ{
System.out.print("ค่าของ x : " + x );
เอ็กซ์++;
System.out.print("n");
} ในขณะที่( x < 20 } }
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
ค่า x: 10
ค่า x : 11
ค่า x : 12
ค่า x : 13
ค่า x : 14
ค่า x: 15
ค่า x: 16
ค่า x : 17
ค่า x : 18
ค่า x : 19
แม้ว่าโครงสร้างลูปทั้งหมดสามารถแสดงด้วย while หรือ do... While แต่ Java ได้จัดเตรียมคำสั่งอื่น - for loop ซึ่งทำให้โครงสร้างลูปบางส่วนง่ายขึ้น
จำนวนครั้งที่ for loop ถูกดำเนินการจะถูกกำหนดก่อนดำเนินการ รูปแบบไวยากรณ์เป็นดังนี้:
สำหรับ (การเริ่มต้น; นิพจน์บูลีน; อัปเดต) {
//คำสั่งรหัส}
ต่อไปนี้เป็นหมายเหตุบางประการเกี่ยวกับ for loop:
ขั้นตอนการเริ่มต้นจะดำเนินการก่อน สามารถประกาศประเภทได้ แต่สามารถเตรียมใช้งานตัวแปรควบคุมลูปตั้งแต่หนึ่งตัวขึ้นไปได้ หรืออาจเป็นคำสั่งว่างก็ได้
จากนั้น ทดสอบค่าของนิพจน์บูลีน หากเป็นจริง เนื้อความของลูปจะถูกดำเนินการ หากเป็นเท็จ การวนซ้ำจะสิ้นสุดลงและการดำเนินการของคำสั่งที่อยู่ถัดจากเนื้อหาของลูปจะเริ่มต้นขึ้น
หลังจากดำเนินการวนซ้ำหนึ่งครั้ง ให้อัพเดตตัวแปรควบคุมการวนซ้ำ
ตรวจสอบนิพจน์บูลีนอีกครั้ง ดำเนินการตามกระบวนการข้างต้นแบบวนซ้ำ
การทดสอบชั้นเรียนสาธารณะ {
โมฆะคงที่สาธารณะ main (String args []) {
สำหรับ(int x = 10; x < 20; x = x+1) {
System.out.print("ค่าของ x : " + x );
System.out.print("n");
-
-
-
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
ค่า x: 10
ค่า x : 11
ค่า x : 12
ค่า x : 13
ค่า x : 14
ค่า x: 15
ค่า x: 16
ค่า x : 17
ค่า x : 18
ค่า x : 19
Java5 เปิดตัว for loop ที่ปรับปรุงแล้วสำหรับอาร์เรย์เป็นหลัก
Java ที่ได้รับการปรับปรุงสำหรับรูปแบบไวยากรณ์ลูปเป็นดังนี้:
สำหรับ (คำสั่งประกาศ: การแสดงออก)
-
// ประโยครหัส}
คำสั่งประกาศ: ประกาศตัวแปรท้องถิ่นใหม่ ประเภทของตัวแปรจะต้องตรงกับประเภทขององค์ประกอบอาร์เรย์ ขอบเขตของมันถูกจำกัดอยู่ที่บล็อกคำสั่งลูป และค่าของมันจะเท่ากับค่าขององค์ประกอบอาร์เรย์ในขณะนี้
นิพจน์: นิพจน์คือชื่อของอาร์เรย์ที่จะเข้าถึงหรือวิธีการที่ส่งคืนอาร์เรย์
การทดสอบชั้นเรียนสาธารณะ {
โมฆะคงที่สาธารณะ main (String args []) {
ตัวเลข int [] = {10, 20, 30, 40, 50};
สำหรับ(int x : ตัวเลข){
System.out.print(x);
System.out.print(");
-
System.out.print("n");
สตริง [] ชื่อ = {"James", "Larry", "Tom", "Lacy"};
สำหรับ( ชื่อสตริง : ชื่อ ) {
System.out.print (ชื่อ);
System.out.print(");
-
-
-
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
10,20,30,40,50,
เจมส์,แลร์รี่,ทอม,เลซี่,
break ส่วนใหญ่จะใช้ในคำสั่ง loop หรือคำสั่ง switch เพื่อข้ามออกจากบล็อกคำสั่งทั้งหมด
แบ่งการกระโดดออกจากวงในสุดและดำเนินการคำสั่งด้านล่างวงต่อไป
การใช้ตัวแบ่งนั้นง่ายมาก มันเป็นคำสั่งในโครงสร้างลูป:
หยุดพัก;
การทดสอบชั้นเรียนสาธารณะ {
โมฆะคงที่สาธารณะ main (String args []) {
ตัวเลข int [] = {10, 20, 30, 40, 50};
สำหรับ(int x : ตัวเลข) {
ถ้า( x == 30 ) {
หยุดพัก;
-
System.out.print(x);
System.out.print("n");
-
-
-
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
10
20
ใช้กับโครงสร้างการควบคุมลูปใดๆ ต่อไป ฟังก์ชันคือการอนุญาตให้โปรแกรมข้ามไปยังการวนซ้ำครั้งถัดไปทันที
ใน for loop คำสั่ง Continue จะทำให้โปรแกรมข้ามไปยังคำสั่ง update ทันที
ในขณะที่วนรอบ while หรือ do... While โปรแกรมจะข้ามไปยังคำสั่งการตัดสินใจของนิพจน์บูลีนทันที
Continue เป็นคำสั่งง่ายๆ ในเนื้อหาของลูป:
ดำเนินการต่อ;
การทดสอบชั้นเรียนสาธารณะ {
โมฆะคงที่สาธารณะ main (String args []) {
ตัวเลข int [] = {10, 20, 30, 40, 50};
สำหรับ(int x : ตัวเลข) {
ถ้า( x == 30 ) {
ดำเนินการต่อ;
-
System.out.print(x);
System.out.print("n");
-
-
-
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
10
20
40
50