💡오늘의 키워드
⭕️ for문에서 break의 기본사용법
⭕️ for문에서 break의 응용사용법1
⭕️ for문에서 break의 응용사용법2
⭕️ for문에서 break의 고급예제1
보통 자바 for문에서 break를 사용하는 일은 거의 없지만,
불필요한 Loop 실행을 방지하고자할땐 꼭 사용해야한다.
⭕️ for문에서 break의 기본사용법
// 라벨링 하지않은 for문
public class Main {
public static void main(String[] args) {
for (int k = 0; k < 10; k++)
{
System.out.println("K FOR Loop k = " + k);
if(k == 3)
{
break;
}
}
System.out.println("all FOR Loop escape");
}
}
[코드설명]
for문은 0~9까지 10번 반복되어 실행되어야 하지만,
0,1,2,3 까지 4회 반복 된 후 중간에 if( k == 3)을 만나 break 가 걸려
반복문을 중단하고 빠져나오게 된다.
[실행결과]
K FOR Loop k = 0
K FOR Loop k = 1
K FOR Loop k = 2
K FOR Loop k = 3
all FOR Loop escape
⭕️ for문에서 break의 응용사용법1
// 라벨링처리한 for문
public class Main {
public static void main(String[] args) {
subLoop:
for(int j = 0; j < 5; j++)
{
lastLoop:
for (int k = 0; k < 10; k++)
{
System.out.println("K FOR Loop k = " + k);
if(k == 3)
{
break lastLoop;
}
}
System.out.println("j FOR Loop j = " + j);
}
System.out.println("all FOR Loop escape");
}
}
[코드설명]
-중첩된(겹쳐있는) for Loop를 사용하는경우, break를 함께 사용해야 할 경우
각 for Loop에 라벨(label) 이라는 것을 붙혀, 각 for Loop를 구별 할 수 있다.
(예시에선 - subLoop:와 lastLoop:로 사용하였다. )
(라벨이름은 자유롭게 사용 할 수 있지만, for문의 목적을 한번에
알아챌 수 있도록 작성하는게 좋으며, 라벨이름 뒤에 콜론(":")을 붙혀 사용한다.)
[실행결과]
K FOR Loop k = 0
K FOR Loop k = 1
K FOR Loop k = 2
K FOR Loop k = 3
j FOR Loop j = 0
K FOR Loop k = 0
K FOR Loop k = 1
K FOR Loop k = 2
K FOR Loop k = 3
j FOR Loop j = 1
K FOR Loop k = 0
K FOR Loop k = 1
K FOR Loop k = 2
K FOR Loop k = 3
j FOR Loop j = 2
K FOR Loop k = 0
K FOR Loop k = 1
K FOR Loop k = 2
K FOR Loop k = 3
j FOR Loop j = 3
K FOR Loop k = 0
K FOR Loop k = 1
K FOR Loop k = 2
K FOR Loop k = 3
j FOR Loop j = 4
all FOR Loop escape
⭕️ for문에서 break의 응용사용법2
public class Main {
public static void main(String[] args) {
subLoop:
for(int j = 0; j < 5; j++)
{
lastLoop:
for (int k = 0; k < 10; k++)
{
System.out.println("K FOR Loop k = " + k);
if(k == 3)
{
break subLoop;
}
}
System.out.println("j FOR Loop j = " + j);
}
System.out.println("all FOR Loop escape");
}
}
[코드설명]
lastLoop: 에서 break가 없다면 k가 0~9 까지 반복되어야 하지만,
k가 3이되었을때, lastLoop: 가 아니라, 부모인 subLoop: 를 break시켜버리면서( j = 0 )
그 즉시, 전체 for Loop가 종료되었다.
for Loop의 라벨(label)은 break 명령어와 함께 사용하여 for Loop를 자유롭게 종료 시킬 수 있다.
[실행결과]
K FOR Loop k = 0
K FOR Loop k = 1
K FOR Loop k = 2
K FOR Loop k = 3
all FOR Loop escape
⭕️ for문에서 break의 고급예제1
class BreakWithLabelDemo {
public static void main(String[] args) {
int[][] arrayOfInts = {
{ 32, 87, 3, 589 },
{ 12, 1076, 2000, 8 },
{ 622, 127, 77, 955 }
};
int searchfor = 12;
int i;
int j = 0;
boolean foundIt = false;
search:
for (i = 0; i < arrayOfInts.length; i++) {
for (j = 0; j < arrayOfInts[i].length;
j++) {
if (arrayOfInts[i][j] == searchfor) {
foundIt = true;
break search;
}
}
}
if (foundIt) {
System.out.println("Found " + searchfor + " at " + i + ", " + j);
} else {
System.out.println(searchfor + " not in the array");
}
}
}
[실행결과]
Found 12 at 1, 0
'Language > Java' 카테고리의 다른 글
java-Map null 체크 value put empty (0) | 2022.10.06 |
---|---|
Java-split 문자열 배열 변환, 문자열 한글자씩 배열 변환 (0) | 2022.09.28 |