안녕하세요, 여러분! 오늘은 Java 프로그래밍에서 자주 마주치는, 하지만 가끔 헷갈리기도 하는 break
와 continue
에 대해 함께 알아보는 시간을 가져보려고 해요. 마치 미로 속에서 길을 잃었을 때처럼, 반복문 안에서 원하는 대로 코드 흐름을 제어하고 싶을 때가 있지 않나요? 바로 그럴 때 break
와 continue
가 마법처럼 등장한답니다!
break
는 반복문을 완전히 탈출하는 역할을 하고, continue
는 현재 반복을 건너뛰고 다음 반복으로 넘어가는 역할을 해요. 이 둘의 미묘한 차이점, 궁금하지 않으세요? 이 두 친구의 작동 방식과 활용법을 다양한 예시 코드와 함께 살펴보면서 여러분의 Java 실력을 한 단계 업그레이드해 보자구요! 어렵게 생각하지 말고, 차근차근 따라오시면 돼요. 자, 그럼 break
와 continue
의 세계로 함께 떠나볼까요?
break와 continue의 기본 개념
자바 프로그래밍을 하다 보면 반복문을 자유자재로 다뤄야 할 때가 정말 많아요. 마치 악보에서 쉼표와 이음줄처럼, break
와 continue
는 반복문의 흐름을 제어하는 중요한 요소랍니다! 이 두 녀석은 반복문 안에서만 사용할 수 있다는 공통점이 있지만, 그 역할은 완전히 다르죠. 마치 쌍둥이처럼 생겼지만 성격은 정반대인 것처럼 말이에요~? 이번에는 break
와 continue
의 기본 개념을 찬찬히 살펴보고, 어떤 상황에서 어떻게 활용하면 좋을지 알아보도록 할게요!
break
break
는 반복문을 완전히 탈출하는 역할을 해요. 마치 비상탈출구처럼 말이죠! 반복문이 for
, while
, do-while
어떤 종류이든 상관없이 break
를 만나는 순간 반복문은 즉시 종료되고, 그 다음 문장으로 넘어가게 됩니다. break
는 반복문 안의 조건문과 함께 사용되는 경우가 많은데, 특정 조건을 만족하면 반복을 중단해야 할 때 아주 유용해요. 예를 들어 1부터 100까지의 숫자 중에서 7의 배수를 찾는다고 생각해 보세요. 7의 배수를 찾았다면 굳이 나머지 숫자를 확인할 필요가 없겠죠? 이럴 때 break
를 사용하면 효율적으로 반복문을 제어할 수 있답니다. break
는 switch 문에서도 사용되는데, 이 부분은 나중에 자세히 다뤄보도록 할게요!
continue
반면에 continue
는 현재 진행 중인 반복을 건너뛰고 다음 반복으로 넘어가는 역할을 합니다. 마치 징검다리에서 한 칸을 건너뛰는 것과 비슷해요. continue
역시 break
처럼 반복문 안에서만 사용할 수 있고, continue
를 만나면 현재 반복의 남은 부분은 실행되지 않고 바로 다음 반복으로 넘어갑니다. continue
는 특정 조건을 만족하는 경우 해당 반복은 건너뛰고 다음 반복을 진행해야 할 때 유용해요. 예를 들어 1부터 10까지의 숫자 중 짝수만 출력하고 싶다고 해볼게요. 홀수를 만났을 때 continue
를 사용하면 해당 숫자는 출력되지 않고 다음 반복으로 넘어가 짝수만 출력할 수 있답니다. continue
는 반복문의 효율성을 높이는 데 아주 중요한 역할을 해요!
중첩 반복문에서의 break와 continue
break
와 continue
는 중첩 반복문에서도 사용할 수 있어요. 중첩 반복문이란 반복문 안에 또 다른 반복문이 있는 구조를 말하는데, 이 경우 break
는 가장 가까운 반복문 하나만 탈출합니다. 마치 미로에서 한 겹의 벽만 뚫고 나오는 것과 같아요. 반면에 continue
는 가장 가까운 반복문의 현재 반복만 건너뛰고 다음 반복으로 넘어갑니다. 마치 이중 미로에서 안쪽 미로의 한 칸만 건너뛰는 것과 같죠. 중첩 반복문에서 break
와 continue
를 사용할 때는 각 반복문의 흐름을 잘 파악하고 사용해야 원하는 결과를 얻을 수 있어요!
break와 continue의 중요성
break
와 continue
는 단순히 반복문을 제어하는 것 이상의 의미를 가져요. 코드의 가독성을 높이고, 불필요한 연산을 줄여 프로그램의 성능을 향상시키는 데 큰 도움을 주죠. 마치 요리에서 적절한 양념을 사용하면 음식의 맛이 풍부해지는 것처럼 말이에요! break
와 continue
를 적재적소에 활용하면 더욱 효율적이고 읽기 쉬운 코드를 작성할 수 있답니다. 자바 프로그래밍 실력 향상을 위해 break
와 continue
활용법을 꼭 익혀두세요! 다음에는 실제 코드 예시를 통해 break
와 continue
의 활용법을 더 자세히 알아보도록 할게요. 기대해 주세요~!
break 문의 작동 방식과 사용 예시
자, 이제 Java에서 break
문이 어떻게 동작하는지, 그리고 어떤 상황에서 유용하게 사용할 수 있는지 자세히 알아볼까요? break
는 반복문(for, while, do-while)이나 switch 문 안에서 실행 흐름을 제어하는 강력한 도구랍니다! 마치 흐르는 강물을 댐으로 막아서 물길을 바꾸는 것처럼 말이죠! break
를 만나면 실행 흐름이 갑자기 멈추고, 바깥쪽 블록으로 뿅! 하고 이동한답니다. 마법 같죠? ^^
break 문의 기본 동작
break
문은 단독으로 사용될 때 현재 속해있는 가장 가까운 반복문이나 switch 문을 탈출합니다. 마치 터널을 지나 밖으로 나가는 것과 같아요. 이때 탈출하는 반복문이나 switch 문은 break
문을 직접적으로 감싸고 있는 블록이어야 해요! 만약 중첩된 반복문 안에 있다면, 바깥쪽 반복문이 아니라 현재 실행 중인 안쪽 반복문에서만 빠져나온다는 점, 꼭 기억해 두세요~?
중첩된 반복문에서의 break
예를 들어, 삼중 for 문에서 가장 안쪽 루프에 break
가 있다면, 그 break
는 가장 안쪽 루프만 탈출하고, 중간 루프와 바깥쪽 루프는 계속 실행된답니다. 마치 미로에서 한 겹의 벽만 뚫고 나온 것과 같아요. 바깥쪽 루프까지 완전히 탈출하려면 break
문을 여러 개 사용하거나, 레이블(label)을 사용하는 방법도 있답니다. 레이블을 사용하면 원하는 위치로 바로 이동할 수 있어요! 마치 순간이동 마법처럼요! ✨
break 문의 활용 예시
break
문의 활용법을 몇 가지 예시를 통해 살펴볼까요? 첫 번째로, 특정 조건을 만족하는 요소를 찾으면 반복을 중단하는 경우를 생각해 보세요. 1부터 100까지의 숫자 중에서 7의 배수를 찾는다고 가정해 봅시다. for
문을 사용하여 1부터 100까지 반복하면서, 각 숫자가 7로 나누어떨어지는지 확인하고, 만약 7의 배수라면 break
문을 사용하여 반복을 중단할 수 있어요. 7의 배수를 찾았으니 더 이상 반복할 필요가 없겠죠? 효율적이지 않나요?!
두 번째로, 무한 루프에서 탈출 조건으로 사용하는 경우입니다. 특정 조건이 만족될 때까지 계속 반복해야 하는 경우, while(true)
와 같이 무한 루프를 만들고, 탈출 조건이 만족되면 break
문을 사용하여 루프를 빠져나올 수 있답니다. 예를 들어, 사용자로부터 입력을 받아 특정 값이 입력될 때까지 계속 입력을 받는 프로그램을 작성할 때 유용하게 사용할 수 있어요!
세 번째로, switch 문에서 각 case의 실행을 구분하는 데 사용할 수 있습니다. switch 문은 여러 개의 case로 구성되어 있고, 각 case는 특정 값과 일치하는 경우 실행됩니다. break
문을 사용하지 않으면, 일치하는 case 이후의 모든 case들이 순차적으로 실행되는데, 각 case의 실행을 분리하고 싶다면 break
문을 사용하여 현재 case의 실행을 마치고 switch 문을 빠져나올 수 있답니다.
코드 예시 1: 7의 배수 찾기
자, 이제 실제 코드 예시를 통해 break
문의 활용법을 더 자세히 알아볼까요? 아래 코드는 1부터 100까지의 숫자 중에서 처음으로 발견되는 7의 배수를 출력하고 반복문을 종료하는 예시입니다.
for (int i = 1; i <= 100; i++) { if (i % 7 == 0) { System.out.println("7의 배수 발견: " + i); break; // 7의 배수를 찾았으므로 반복문 종료! } }
코드 예시 2: 무한 루프에서 탈출
다음은 무한 루프에서 사용자로부터 “exit”라는 문자열이 입력될 때까지 계속 입력을 받는 예시입니다.
Scanner scanner = new Scanner(System.in); while (true) { System.out.print("입력 (종료하려면 \"exit\" 입력): "); String input = scanner.nextLine(); if (input.equals("exit")) { break; // "exit" 입력 시 무한 루프 탈출! } System.out.println("입력값: " + input); } System.out.println("프로그램 종료!");
코드 예시 3: switch 문에서의 break
마지막으로, switch 문에서 break
문을 사용하는 예시입니다.
int dayOfWeek = 3; switch (dayOfWeek) { case 1: System.out.println("월요일"); break; case 2: System.out.println("화요일"); break; case 3: System.out.println("수요일"); break; default: System.out.println("다른 요일"); }
이처럼 break
문은 반복문이나 switch 문의 실행 흐름을 제어하는 데 유용하게 사용될 수 있답니다! 적절하게 활용하면 코드의 효율성과 가독성을 높일 수 있으니, 꼭 기억해 두세요! 😊 다음에는 continue
문에 대해 알아볼 거예요! 기대해 주세요~!
continue 문의 작동 방식과 사용 예시
자, 이번에는 continue
문에 대해 자세히 알아볼까요? break
가 반복문을 완전히 탈출하는 녀석이었다면, continue
는 조금 달라요. 얘는 현재 진행 중인 반복 한 바퀴(Iteration)만 건너뛰고, 다음 반복으로 넘어가게 해주는 역할을 해요. 마치 징검다리를 건너뛰듯이 말이죠!
continue
문은 주로 특정 조건을 만족하는 경우, 그 이후의 코드 실행을 생략하고 다음 반복으로 넘어가고 싶을 때 유용하게 쓰여요. 예를 들어 1부터 10까지 숫자 중 짝수만 출력하고 싶다고 생각해 보세요. 이때 continue
를 사용하면 홀수일 경우 다음 반복으로 넘어가도록 할 수 있답니다.
continue 문의 작동 방식
continue
문의 작동 방식을 좀 더 자세히 들여다볼까요? 반복문 안에서 continue
문을 만나면, 제어 흐름은 즉시 반복문의 조건 검사 부분으로 이동해요. for
루프라면 증감식으로, while
루프라면 조건식으로 바로 점프하는 거죠! 마치 순간이동 마법 같지 않나요? 뿅! 하고 다음 반복으로 넘어가는 거예요.
continue 문의 활용 예시
자, 이제 continue
문의 활용 예시를 몇 가지 살펴보면서 감을 잡아보도록 해요.
1. 짝수만 출력하기
아까 말씀드렸던 1부터 10까지의 숫자 중 짝수만 출력하는 예시를 코드로 작성해 볼게요.
for (int i = 1; i <= 10; i++) { if (i % 2 != 0) { // 홀수인 경우 continue; // 다음 반복으로 넘어감 } System.out.println(i); // 짝수만 출력 }
이 코드에서 i
가 홀수일 경우 continue
문이 실행되면서 System.out.println(i)
는 건너뛰고 다음 반복으로 넘어가게 돼요. 결과적으로 짝수인 2, 4, 6, 8, 10만 출력되겠죠?
2. 특정 값 제외하고 처리하기
파일을 읽어 들여서 처리하는 프로그램을 생각해 보세요. 만약 파일에서 특정 값, 예를 들어 “SKIP”이라는 문자열을 만나면 그 줄은 건너뛰고 다음 줄을 처리하고 싶다면 어떻게 해야 할까요? 바로 continue
를 사용하면 됩니다!
// ... 파일 읽어오는 부분 ... String line; while ((line = reader.readLine()) != null) { if (line.equals("SKIP")) { continue; // "SKIP"이면 다음 줄로 넘어감 } // ... 파일 내용 처리 ... } // ... 파일 닫는 부분 ...
이렇게 하면 “SKIP”이라는 문자열을 만났을 때 continue
문이 실행되어 그 줄의 처리는 건너뛰고 다음 줄을 읽어서 처리하게 됩니다. 효율적이죠?
3. 중첩 반복문에서의 활용
continue
문은 중첩 반복문에서도 유용하게 사용될 수 있어요. 바깥쪽 루프의 continue
는 바깥쪽 루프의 다음 반복으로, 안쪽 루프의 continue
는 안쪽 루프의 다음 반복으로 이동하게 합니다. 이 개념을 이용하면 복잡한 로직도 간결하게 표현할 수 있어요!
for (int i = 0; i < 3; i++) { for (int j = 0; j < 5; j++) { if (j == 2) { continue; // j가 2일 때 안쪽 루프의 다음 반복으로 } System.out.println("i: " + i + ", j: " + j); } }
이 코드를 실행하면 j
가 2일 때 안쪽 루프의 continue
가 실행되어 출력을 건너뛰고 j
값이 3, 4일 때의 출력이 이어지는 것을 확인할 수 있을 거예요. 각각의 continue
가 어떤 루프에 영향을 미치는지 잘 파악하는 것이 중요해요!
continue
문은 반복문의 흐름을 제어하는 강력한 도구예요. break
처럼 반복문을 완전히 종료하는 것이 아니라, 특정 조건에서만 현재 반복을 건너뛰고 다음 반복으로 넘어가도록 해주기 때문에, 불필요한 연산을 줄이고 코드의 효율성을 높이는 데 아주 유용하답니다. 다양한 상황에서 continue
를 활용하여 더욱 효율적이고 가독성 높은 코드를 작성해 보세요! 더 많은 연습을 통해 continue
문을 자유자재로 활용할 수 있게 되면, 여러분의 코딩 실력은 한 단계 더 업그레이드될 거예요!
실제 코드로 보는 break와 continue 활용법
자, 이제 드디어! break와 continue를 활용한 실제 코드들을 살펴볼 시간이에요. 백문이 불여일견이라고 하잖아요? ^^ 개념을 이해하는 것도 중요하지만, 실제로 코드에 적용해보는 것이야말로 진정한 마스터への道라고 생각해요! 다양한 상황에서 어떻게 활용되는지 꼼꼼히 살펴보면서 감을 잡아보도록 하자구요~?
1. 특정 숫자 찾기
1부터 100까지의 숫자 중 7의 배수를 찾아 출력하고, 77을 만나면 탐색을 종료하는 코드입니다.
public class FindSeven { public static void main(String[] args) { for (int i = 1; i <= 100; i++) { if (i % 7 == 0) { System.out.println("7의 배수: " + i); if (i == 77) { System.out.println("77을 찾았으니 종료합니다!"); break; // 77을 찾으면 반복문 종료 } } } } }
이 코드에서는 break 문을 활용해서 77을 찾으면 즉시 반복문을 빠져나오도록 했어요. 7의 배수를 찾는 로직은 유지하면서도, 특정 조건을 만족하면 탐색을 효율적으로 종료할 수 있도록 만들었답니다. break 덕분에 불필요한 연산을 줄일 수 있겠죠?!
2. 짝수만 출력하기
1부터 10까지의 숫자 중 짝수만 출력하는 코드입니다.
public class PrintEven { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { if (i % 2 != 0) { continue; // 홀수이면 다음 반복으로 넘어감 } System.out.println("짝수: " + i); } } }
여기서는 continue 문을 사용해서 홀수를 만나면 다음 반복으로 넘어가도록 했어요. 짝수만 출력하는 로직을 간결하게 표현할 수 있죠? continue를 사용하지 않으면 if-else 문을 사용해야 할 텐데, continue 덕분에 코드가 훨씬 깔끔해졌어요! 효율성도 굿!
3. 중첩 반복문에서의 break 활용
구구단 중 5단까지만 출력하는 코드입니다.
public class MultiplicationTable { public static void main(String[] args) { for (int i = 2; i <= 9; i++) { for (int j = 1; j <= 9; j++) { System.out.println(i + " * " + j + " = " + (i * j)); if (i == 5) { System.out.println("5단까지만 출력합니다!"); break; // i가 5가 되면 바깥쪽 반복문까지 종료 } } if (i == 5) break; // 바깥쪽 반복문도 종료하기 위해 추가 } } }
중첩 반복문에서 break는 안쪽 반복문만 벗어난다는 것을 기억하시나요? 이 코드에서는 i가 5일 때 바깥쪽 반복문까지 종료하기 위해 break를 한 번 더 사용했어요. 이렇게 하면 5단까지만 출력하고 전체 구구단 출력을 멈출 수 있답니다. 중첩 반복문에서 break와 continue를 사용할 때는 특히 더 주의해야 한다는 점, 잊지 마세요~!
4. 무한 루프와 break
사용자로부터 특정 문자를 입력받을 때까지 반복하는 코드입니다.
import java.util.Scanner; public class InfiniteLoop { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String input; while (true) { // 무한 루프 시작 System.out.print("문자를 입력하세요 (q를 입력하면 종료): "); input = scanner.nextLine(); if (input.equals("q")) { System.out.println("프로그램을 종료합니다."); break; // q를 입력하면 무한 루프 종료 } System.out.println("입력한 문자: " + input); } scanner.close(); } }
무한 루프(while(true))에서 break는 필수 요소에요! 특정 조건을 만족할 때 루프를 벗어날 수 있도록 해주죠. 이 코드에서는 사용자가 “q”를 입력하면 break를 통해 무한 루프를 벗어나 프로그램이 종료되도록 했어요. 무한 루프를 사용할 때는 항상 break 조건을 명확하게 설정해야 한다는 것을 명심하세요! 안 그러면 프로그램이 영원히 실행될 수도 있으니까요! (으악!)
자, 이렇게 다양한 예시를 통해 break와 continue의 활용법을 살펴봤어요. 어때요, 이제 좀 더 감이 잡히시나요? 처음에는 조금 헷갈릴 수 있지만, 여러 번 연습하다 보면 자유자재로 활용할 수 있게 될 거예요! 다음에는 더욱 흥미로운 주제로 찾아올게요! 그때까지 열공! 파이팅! ^^
자, 이제 break와 continue에 대해 좀 더 명확하게 이해하셨나요? 처음엔 헷갈릴 수 있지만, 이 친구들은 코드의 흐름을 제어하는 강력한 도구랍니다. 마치 요리할 때 불 조절하는 것과 같아요. break는 아예 불을 끄는 것이고, continue는 잠시 불을 줄였다가 다시 키는 것과 비슷하죠. 이 작은 차이를 잘 활용하면 원하는 결과를 훨씬 효율적으로 얻을 수 있어요. 다음 프로젝트에서 꼭 한번 활용해보고, 그 위력을 직접 경험해보세요! 코딩 실력이 쑥쑥 향상될 거예요. 더 궁금한 점이 있다면 언제든 질문해주세요. 함께 코딩 실력을 키워나가요!