2013-06-27 24 views
6

Có ai biết những gì group_skip làm gì?Câu lệnh break làm gì trong java?

Có lẽ nó là một chương trình cơ bản, nhưng tôi đã lập trình bằng cách sử dụng Java trong một số năm và chỉ tìm thấy nó ngày hôm nay.

group_skip: do { 
    event = stepToNextEvent(FormController.STEP_OVER_GROUP); 
    switch (event) { 
     case FormEntryController.EVENT_QUESTION: 
     case FormEntryController.EVENT_END_OF_FORM: 
      break group_skip; 
    } 
} while (event != FormEntryController.EVENT_END_OF_FORM); 

Cảm ơn!

+5

Không đăng hình ảnh văn bản, thay vì sao chép và dán văn bản thực tế trực tiếp vào bài đăng của bạn. Hình ảnh văn bản không dễ dàng phân tích cú pháp, có thể tìm kiếm hoặc có thể truy cập được. –

+1

Đã chỉnh sửa nó! Xin lỗi vì điều đó: D – Rendy

+1

Nó là một nhãn, có thể được sử dụng để thoát ra khỏi một tuyên bố – Longball27

Trả lời

15

Đây là một labelled loop, khi break group_skip; tuyên bố được thực thi, nó sẽ nhảy ra khỏi việc phải làm trong khi vòng lặp được dán nhãn là group_skip

boolean isTrue = true; 
    outer: for (int i = 0; i < 5; i++) { 
     while (isTrue) { 
      System.out.println("Hello"); 
      break outer; 
     } // end of inner while 
     System.out.println("Outer loop"); // does not print 
    } // end of outer loop 
    System.out.println("Good Bye"); 

đầu ra này

Hello 
Good Bye 

Bạn có thể hiểu rõ khái niệm tại đây.

  • Có một nhãn for loop gọi outer và có nội while loop
  • Khi bên trong vòng lặp for đang được thực hiện, nó gặp break outer; tuyên bố
  • Các outer for loop có một tuyên bố System.out.println"Outer loop" nhưng điều đó không được in .
  • Điều này là do break outer gây sự kiểm soát để nhảy ra khỏi nhãn for loop trực tiếp

Bây giờ ví dụ này cho continue tuyên bố

outer: for (int i = 0; i < 5; i++) { 
     for (int j = 0; j < 5; j++) { 
      System.out.println("Hello"); 
      continue outer; 
     } // end of inner loop 
     System.out.println("outer"); // this won't print 
    } // end of outer loop 
    System.out.println("Good bye"); 

này in

Hello 
Hello 
Hello 
Hello 
Hello 
Good bye 
  • Có một nhãn có nhãnVòng lặp 210 ở đây và một vòng lặp bên trong for
  • Bên trong for in vòng Hello và tiếp tục với vòng lặp outer.
  • Do đó, các câu lệnh bên dưới vòng lặp for bị bỏ qua và vòng lặp outer tiếp tục thực thi.
  • Vào cuối outer vòng lặp for, Good Bye được in

Hy vọng điều này làm cho mọi thứ rõ ràng.

+0

Cảm ơn Prasad cho một ví dụ rất rõ ràng! Btw, bạn không có 'System.out.println (" Good Bye ");'; D – Rendy

+0

Đã sai lầm khi sao chép whily paste :) :) cảm ơn vì đã chỉ nó ra Rendy –

+0

Happy learning dude :) –

0

group_skip là nhãn được sử dụng cho những thứ như phá vỡ. (Ngoài goto và nhảy bằng các ngôn ngữ khác)

Trong java, nó sẽ được sử dụng để phá vỡ khối mã được xác định bởi nhãn, hoạt động giống như câu lệnh break trong một khoảng thời gian, ngoại trừ việc phá vỡ khối mã được dán nhãn.

Here là một số thảo luận thêm về chủ đề

5

khi đã bao giờ chúng ta sử dụng câu lệnh break đơn giản thì chúng ta chỉ có thể chuyển điều khiển từ hầu hết các vòng lặp bên trong để được nhiều nhất bên ngoài (nếu chúng ta có làm tổ của vòng). cho exampel

for(int i=0; i < 10; i++){ 
    if(i==5){ 
     break; 
    } 
} 
statement x; 

sẽ chỉ đơn giản là chuyển điều khiển để tuyên bố x. Nhưng nếu bạn sử dụng nó trong vòng lặp lồng nhau thì nó sẽ hoạt động khác nhau.

for(int i=0; i < 10; i++){ 
for(int j=0; j < 10; j++) 
    if(i==5){ 
     break; 
    } 
} 
statement y; 
} 
statement x; 

trong trường hợp này nó sẽ gửi điều khiển để tuyên bố y. Nếu bạn muốn gửi điều khiển từ vòng lặp trong cùng đến vòng ngoài cùng hoặc bên ngoài vòng lặp thì bạn cần một câu lệnh ngắt với các nhãn. Chỉ cần làm điều đó từ tự của bạn và bạn sẽ thấy đầu ra thú vị .. :)