본문 바로가기
에밀리쌤의 기초교실/JAVA 프로그래밍

[에밀리쌤의 JAVA 기초] 조건문과 반복문(3)

by 에밀리쌤 2024. 5. 20.

 

자바교육에서 사용되는 자바 기초 프로그래밍의 교안을 바탕으로 한 추가 설명입니다.

이전에 조건문과 반복문(2)에 이어 조건문과 반복문(3) 진행합니다.



프로그래밍을 하다 보면, 정확히 몇 번 반복해야할지 판단하기 어려울 때가 있습니다.

하지만 반복을 써서 문제를 해결해야 한다면, 무한 반복을 이용해야 합니다. 

무한 반복은 말 그대로 무한히 반복이 되는거라서 그대로 쓰게 되면 프로그램은 종료되지 않고 계속 반복만 하고 있게 됩니다. 그래서 무한반복을 하되 종료지점을 정해줘서 반복이 꼭 종료되게끔 해야 합니다!

 

위 두 방법은 조건문이 계속 true를 리턴하게 해서 반복문이 무한하게 반복되도록 하는 것입니다.

그렇다면, 무한반복을 멈추게 하기 위해 어떤 조건을 줄 수 있는지 볼까요?

 

  

교안의 예제를 보면, 자바 내장 객체 중의 하나인  Scanner를 이용해 입력을 받고, 처리하게 되어있습니다.

일단 Scanner 객체를 선언해 줍니다.

만약  반복문 진행 중에 exit라는 문자를 입력받면, 무한반복을 종료하고 반복 밖으로 나가고 다음 코드를 진행합니다.

 

Scanner는 또 뭐지??라고 생각하셨나요??

앞에 살펴봤던 반복문 코드에 Scanner라는 객체가 추가되었습니다.

이후에 Scanner는 설명하겠지만, 일단 입력된 문자 그대로 스캔해서 읽어 들이는 기능을 가지고 있다고 생각하시면 됩니다. System.in은 Console에 입력된 글자를 읽어 들이겠다는 것으로 해석하시면 됩니다.

Scanner input = new Scanner( System.in );

 

교안의 첫 번째 라인인 위 코드는 콘솔로부터 읽어 온 내용을 Scanner라는 자바가 제공해 주는 객체를 이용해서 스캔해 온 뒤에 Scanner 객체타입의 변수 input에 스캔해 온 값을 담겠다는 것으로 해석하면 되겠죠?

그렇게 담긴 문자가 만약 next라면 이 반복문을 중지하고 종료하겠다는 break가 실행되게 됩니다.

 

 

다시 정리된 흐름을 보니 exit가 들어왔을 때 아닐 때에 따라 무한 반복문이 조절되는 것이 보이시나요?

코드를 먼저 보고 흐름을 살펴보긴 했지만, 실제 프로그래밍 하실 때에는 흐름 정리 먼저 하고 코드로 구현하셔야 해요.

 

반복문을 조절할 수 있는 continue와 break도 살펴볼까요?

 

 

continue는 반복문을 수행하다가 특정한 조건을 만나게 됐을 때 skip 한다고 생각하시면 될 것 같습니다. 해당 구문 수행하지 않고 그냥 반복만 진행만 하는 것입니다. 그다음번 반복으로 넘어가는 거죠.

(사실 아주 많~이 사용되는 방법은 아니지만, 있는 문법이기에 설명드려봅니다)

 

사실 반복문을 사용할 때 가장 많이 쓰이는 것 중 하나는 break입니다. 

break는 그 의미대로 자동차 브레이크처럼 생각하시면 됩니다. 달려가는 자동차가 브레이크 밟으면 멈추는 것처럼 반복해서 돌고 있는 프로그램을 멈추게 하기 위해 사용합니다. break 구문을 만나면 반복문은 반복하는 것을 무조건 멈추고 반복문 밖으로 나가서 그다음 코드를 실행하게 하는 구문입니다.

꼭 기억하셔야 하는 건 break문은 만나면 무조건 종료라는 것입니다. 그다음 줄을 실행하는 것도 아니고 현재 구문 밖으로 나간다고 생각하셔야 해요.

 


 

조건문과 반복문을 3번에 나눠서 설명을 좀 드려보았습니다.

블로그 안의 교안코드를 눈으로 보았을 때 이해가 좀 되셨나요?

그러면 이제 코드를 손으로 옮겨보셔야 합니다!

 

조건문과 반복문은 계속 말씀드렸지만, 프로그래밍 과정에 사용되는 전부..라고 해도 과언이 아니랍니다.

절대 눈으로 보고 이해했으니, 그다음으로 넘어가야지. 가 아니라, 직접 이클립스에 코드를 넣어 실행해보셔야 해요. 게다가 여기에서는  Scanner 이야기도 잠깐 나왔으니, 직접 코드를 옮겨 실행하면서 결과를 보셔야 합니다.

 

꼭! 직접 사용하는 에디터 도구에 간단한 예제 프로그램들을 실행해 보시는 걸 권장드려요!

 

 

 

기본 문법에 대한 이야기가 마무리되었기 때문에 이제 조금씩 자세한 내용으로 차근차근 진행할 예정입니다!

기초가 탄탄하게 잡히면 이후 프로그래밍 하는데 든든한 코어 역할을 해주게 된답니다.

지금까지의 내용들은 그 코어를 위한 기본기에 대해 이야기하고 있습니다.

여러분의 자바 프로그래밍 코어가 탄탄해지길 바라봅니다.

 

 

 

반응형

댓글