SHUSTORY

04-2 반복문 본문

프로그래밍/JAVA

04-2 반복문

어서오시우 2023. 2. 20. 03:21
728x90

반복문

반복문은 영어로 루프(loop)이므로 반복문을 수행하는 것을 '루프가 돈다'라고 표현하기도 한다.

자바 프로그램에서 사용하는 반복문의 종류에는 while문, do-while문, for문 이렇게 세 가지가 있다.

 

 

while문

while문

while문은 조건식이 참인 동안 중괄호 { } 안의 수행문을 반복해 처리한다.

조건문과 마찬가지로 수행문이 하나인 경우 { }를 사용하지 않을 수 있다.

 

예제 01

 

위의 예제에서는 num과 sum 값을 초기화하지 않으면 오류가 난다.

그 이유는 while문에서 num값과 sum값을 더하는 연산을 하는데,

만약 초기화하지 않고 연산을 수행할 경우 어떤 값을 더해야 할 지 알 수 없기 때문이다.

즉 변수를 사용하여 연산을 하거나 그 값을 가져다 사용하려면 변수는 반드시 어떤 값을 가지고 있어야 한다.

 

 

while문이 무한히 반복되는 경우

while문은 특정 조건을 만족하는 동안 반복되는 명령을 수행하고, 그렇지 않으면 수행을 중단한 후 while문을 빠져나온다.

while문을 무한으로 반복되도록 하려면 while문의 조건식이 참이면 된다.

무한반복while문

 

 

do-while문

while문은 조건을 먼저 검사하기 때문에 조건식에 맞지 않으면 반복 수행이 한 번도 일어나지 않는다.

하지만 do-while문은 { } 안의 문장을 한 번 수행한 후 조건식을 검사한다.

do-while문

 

시작 -> 수행문1 -> 조건식 -> (참일 경우) -> 수행문1 -> 조건식 -> (거짓일 경우) -> 수행문2 -> 종료

 

예제02

 

 

for문

for문

초기화식은 for문이 시작할 때 단 한 번만 수행하며 사용할 변수를 초기화한다.

조건식을 통해 언제까지 반복 수행할 것인지 구현하고,

증감식에서 반복 횟수나 for문에서 사용하는 변수 값을 1만큼 증가 혹은 감소시킨다.

 

예제03

 

예제03에서 i의 값이 10일 때 조건식을 마지막으로 만족하며 i의 값이 1 증가하여 11로 마무리된다.

 

for문은 배열과 함께 자주 사용한다.

배열은 같은 자료형이 순서대로 모여 있는 구조로, 배열 순서를 나타내는 인덱스 값은 0부터 시작한다.

배열의 전체 요소 개수가 n개일 때, 요소 위치는 n-1로 표현할 수 있다.

이러한 배열의 특성과 증감에 따른 반복을 표현하는 데 적합한 for문의 특성 상 배열과 자주 사용되는 것이다.

 

for문 요소 생략하기

for문을 구성하는 요소는 코드가 중복되거나 논리 흐름상 사용할 필요가 없을 때 생략 가능하다.

  • 이미 이전에 다른 곳에서 변수가 초기화되었을 경우 for문의 초기화 부분을 생략할 수 있다.
  • 어떤 연산 결과 값이 나왔을 때 for문의 수행을 멈추고자 할 경우 조건식을 생략하고 for문 내부에 if문을 사용한다.
    • if문과 함께 break를 사용할 경우 for문이 종료된다.
  • 증감식의 연산이 복잡하거나 다른 변수의 연산 결과 값에 좌우된다면 증감식을 생략하고 for문 내부에 작성한다.
  • 무한 반복하고자 할 경우 모든 요소를 생략할 수 있다.

* 요소를 생략하더라도 ; 표시는 생략하지 않는다.

* 반복문을 중첩하여 내부에 반복문을 작성할 수 있다.

 

 

continue문

continue문은 반복문과 함께 사용된다.

반복문 안에서 continue문을 만나면 이후의 문장은 수행하지 않고 for문 ( )의 증감식을 수행한다.

 

예제04

 

위의 예제04를 통해 살펴보자면 num값이 짝수일 경우 continue문을 만나 이후의 수행을 생략하고 num값이 1 증가한 뒤 이후의 문장을 수행한다.

이렇듯 반복문을 수행할 때 특정 조건에서 수행하지 않고 건너뛰고자 할 때 contunue문을 사용한다.

 

 

break문

switch-case문에서 특정 조건을 만족하여 break문을 만나면 더 이상 다른 조건을 비교하지 않고 switch문을 빠져나왔다.

반복문도 마찬가지로 break문을 사용하면 그 지점에서 더 이상 수행문을 반복하지 않고 반복문을 빠져나온다.

 

예제03

 

위의 예제 03을 다시 살펴보면 i의 값이 마지막에 11이 되어 종료된다.

이렇게 될 경우 "1부터 i까지의 값이 sum이다."라는 문장을 출력시킬 경우 원하던 문장과 다른 결괏값을 얻게 될 것이다.

우리가 원하는 값을얻게 하기 위해서는 증감이 이루어지기 전에 반복문을 끝내야 하는데,

이 경우에 사용되는 것이 break문이다.

 

예제04

 

예제03에서 원하는 i의 값을 얻기 위해 break문을 사용하면 예제04와 같이 프로그래밍 할 수 있다.

 

예제05

 

예제05에서도 중간에 조건식을 생략하고 for문 내부에 if문과 break문을 작성하여 원하는 값을 정확하게 얻을 수 있다.

 

break문을 사용하면 모든 반복문을 빠져나오는 것이 아닌 break문을 감싸고 있는 반복문만 빠져나온다.

즉, 중첩된 반복문을 사용할 경우 내부의 반복문에 break문을 작성한다면 해당 break문을 만났을 때 외부의 반복문은 빠져나오지 않고 내부의 반복문만 빠져나온다.

 

즉 continue문은 반복문을 계속 수행하지만 특정 조건에서 수행문을 생략하는 경우에 사용하고,

break문은 반복문을 더 이상 수행하지 않고 빠져나올 때 사용한다.

'프로그래밍 > JAVA' 카테고리의 다른 글

05-2 클래스 살펴보기  (0) 2023.02.20
05-1 객체 지향 프로그래밍과 클래스  (0) 2023.02.20
04-1 조건문  (0) 2023.02.20
03-1 기본 연산자  (0) 2023.02.20
02-5 형 변환  (1) 2023.02.19