ไปที่การวนซ้ำถัดไปใน For Loop ใน java


คำตอบ:


344
continue;

continue; คำสำคัญจะเริ่มต้นการทำซ้ำครั้งต่อไปเมื่อมีการร้องขอ

ตัวอย่างเช่น

for(int i= 0 ; i < 5; i++){
 if(i==2){
  continue;
 }
System.out.print(i);
}

สิ่งนี้จะพิมพ์

0134

ดู


2
และbreakจะข้ามห่วง :)
Shajeel Afzal

18
คำหลัก 'หยุด' ค่อนข้างจะยกเลิกการวนซ้ำ
โกงเด็กหนุ่ม

56

ลองนี้

1. If you want to skip a particular iteration, use continue.

2. If you want to break out of the immediate loop use break

3 If there are 2 loop, outer and inner.... and you want to break out of both the loop from the inner loop, use break with label.

เช่น:

ต่อ

for(int i=0 ; i<5 ; i++){

    if (i==2){

      continue;
    }
 }

เช่น:

หยุดพัก

for(int i=0 ; i<5 ; i++){

        if (i==2){

          break;
        }
     }

เช่น:

ทำลายด้วยฉลาก

lab1: for(int j=0 ; j<5 ; j++){
     for(int i=0 ; i<5 ; i++){

        if (i==2){

          break lab1;
        }
     }
  }

5
นอกจากนี้ยังมีป้ายกำกับต่อไป
Carcamano

35

continue;หากคุณต้องการที่จะข้ามย้ำในปัจจุบันการใช้งาน

for(int i = 0; i < 5; i++){
    if (i == 2){
        continue;
    }
 }

ต้องการแยกวงออกทั้งหมดหรือไม่ ใช้break;

for(int i = 0; i < 5; i++){
    if (i == 2){
        break;
    }
}

หากคุณต้องการแบ่งการใช้มากกว่าหนึ่งลูป break someLabel;

outerLoop:                                           // Label the loop
for(int j = 0; j < 5; j++){
     for(int i = 0; i < 5; i++){
        if (i==2){
          break outerLoop;
        }
     }
  }

* โปรดทราบว่าในกรณีนี้คุณไม่ได้ทำเครื่องหมายจุดในรหัสเพื่อข้ามไปคุณกำลังติดฉลากวนซ้ำ! ดังนั้นหลังจากทำลายรหัสจะดำเนินการต่อหลังจากวนรอบ!

เมื่อคุณต้องการข้ามการวนซ้ำหนึ่งครั้งในการใช้ลูปซ้อนกันcontinue someLabel;แต่คุณยังสามารถรวมทั้งหมดได้

outerLoop:
for(int j = 0; j < 10; j++){
     innerLoop:
     for(int i = 0; i < 10; i++){
        if (i + j == 2){
          continue innerLoop;
        }
        if (i + j == 4){
          continue outerLoop;
        }
        if (i + j == 6){
          break innerLoop;
        }
        if (i + j == 8){
          break outerLoop;
        }
     }
  }

8

ดังที่กล่าวไว้ในคำตอบอื่น ๆ ทั้งหมดคำหลักcontinueจะข้ามไปที่จุดสิ้นสุดของการวนซ้ำปัจจุบัน

นอกจากนี้คุณสามารถติดป้ายกำกับการวนรอบของคุณแล้วใช้continue [labelname];หรือbreak [labelname];เพื่อควบคุมสิ่งที่เกิดขึ้นในการวนซ้ำซ้อนกัน:

loop1: for (int i = 1; i < 10; i++) {
    loop2: for (int j = 1; j < 10; j++) {
        if (i + j == 10)
            continue loop1;

        System.out.print(j);
    }
    System.out.println();
}

3

ใช้continueคำสำคัญ อ่านที่นี่

คำสั่งดำเนินการต่อจะข้ามการวนซ้ำปัจจุบันของ for, while, หรือ do-while


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.