자바(Java) 제어문 정리 [2] 반복문 for / while / break / continue

반응형


저번글에서는 제어문중에 조건문을 정리해보았고, 이번에는 반복문에 대해서 알아보려고 합니다.


반복문은 말그대로 특정한 조건식을 걸어주면 정해진 횟수나 값이 참이 나올때까지 반복을 하는 개념으로 정리해볼 수 있네요. 또한 마찬가지로 반복문을 이용한다면 조건문들은 제한없이 섞어서 쓸 수 있기 때문에 간결하고 한눈에 보기 쉽게 코드를 만들어 낼 수 있습니다.


자바(Java) 제어문 정리 [1] 조건문 if / switch


반복문 for

자바를 공부한다면 한번씩은 들어봤을만한 for문은 어느정도 반복할지 횟수를 알고 있고, 반복문내에 조건식이 참(true)일 경우 증감식을 통한 실행문을 따라 계속 반복하다가, 증감식이 거짓(false)이 되면 for문이 종료하게 됩니다.


가장 많이 for문에 대해 사용되는 1부터 i까지의 합에 대한 예제입니다.

sum은 합계를 저장하기 위한 변수이며, i는 카운터 변수로 두 변수 모두 for문이 선언되기 전에 초기화를 해줘야됩니다. 여기서 중요한건 선언되는 변수가 적용되는 중괄호의 위치에 따라 출력되는 결과값이 달라지거나 오류가 생길수 있으니 중요한 부분입니다.




다음은 for문 두개로 만들어 낼 수 있는 구구단 예제입니다. 이렇게 for문은 반복횟수를 알고 있고, 반복문내에 사용될때 쓰면 원하는 결과값을 얻을 수 있다는 것을 알 수 있습니다.



 반복문 while

다음 while문은 조건식이 참일 경우 계속 반복하는 반복문입니다. 반복횟수가 필요하다면 for문을 쓰는 것이 가장 좋고 단순한 조건을 필요할때 while문을 쓰시는게 좋겠죠.


반복문 while문을 써서 누적합을 구해보는 예제입니다. 제가 이론을 정리하면서도 while만으로는 어떤 예제를 써야될지 참 고민이 많이 되는 부분입니다. 다음에도 쓸 일이 많을테니 이정도로 넘어가는게 좋겠네요.



 반복문 do-while

do-while문은 조건식에 영향을 받지 않고 무조건 하나이상의 블록을 실행하고 반복문인 진행된다는 점에서 while문과의 차이점이 있습니다. 

do로 실행되는 블록에서 조건식이 참일 경우 이루어질 실행문을 넣어주고, while에는 그다음 수행될 조건식을 넣어줍니다. 주의사항은 while()다음에 ;(세미콜론)을 꼭 붙여야 한다네요.


모든 책이나 블로그에서 do-while문을 가장 잘 표현할 수 있는 예제는 역시 Scanner를 활용하는것이네요. 아직 Scanner를 정리하진 않았지만 바로 정리해서 링크를 걸도록 하겠습니다. 


보시는바와 같이 do반복문에 무조건 한번이상 수행되는 조건식인 Scanner를 넣어 키보드로 문자열을 입력하도록 하였고, while에서 " exit "라는 문자열이 입력받는다면 종료하도록 조건식을 걸어주었죠. 



 반복문에 break 걸기

break는 저번글인 제어문중에 조건문인 switch문에서 이미 만나보았는데요. 반복문에도 break를 사용한다면 계속 반복하다가 원하는 결과값에 만족시킬때 종료시킬 수 있습니다.


아까전 while문에 사용되었던 예제에 응용해서 누적되는 합이 66을 만나면 종료시키라고 if문으로 조건식을 걸어준 예제입니다. 이런 방식으로 사용된다는 것만 알고 지나가겠습니다.



 반복문에 Continue가 들어간다면?

continue는 제어문중 반복문 for와 while, do-while에서만 사용가능하고, 조건식이 계속 반복되다가 continue를 만나면 반복문을 종료하지 않고, 다음 반복으로 넘어가서 계속 진행하게 만들 경우 사용됩니다. 


위 예제는 1부터 20까지의 숫자 중에 i를 2로 나누어서 결과값이 0이 된다면 그 값을 제외시키고, continue로 다시 for문으로 올라가서 반복하는 결과가 홀수만을 출력하는 예제입니다.


반대로 짝수값만을 구하고 싶다면 contiunue가 들어간 if 조건문을 파란색 줄로 표시된 조건으로 바꿔주면 됩니다. 느낌표 ( ! ) 는 반대를 표현하므로, ( != )는 등호의 반대로 생각하시면 될 것 같습니다.


반응형