나는 자바 코딩 된 갑자기이 같은 일부 코드 작성 :Java가 루프에서 멀리 떨어진 레이블을 허용하는 이유는 무엇입니까?
int x = 10;
boolean b = true;
l1: b = x > 1;
l2: while (b) {
// some code
break l2;
}
을하고 놀랍게도 코드를 컴파일하고 제대로 실행합니다. 내 l1
레이블로 아무 일도하지 않지만 왜이 문장으로 올바르게 컴파일됩니까?
내가 자바 goto
이 존재하지만 (Java Language Keywords)를 사용하지 않고, 나는 그것을로 이동할 수 있다는 어쨌든이 있음을 알아?
레이블은 많은 중첩 루프를 벗어나는 경우에 사용됩니다. 당신은 'l1'을 깰 수 없을 것입니다. –
Iirc, 2 중첩 된 루프가있을 수 있으므로 외부로 나가기를 원할 수 있습니다. – vikingsteve
왜 그것이 작동하지 않아야한다고 생각합니까? 구문이 정확하면 컴파일해야합니다. – andre