[Java] 반복문 - for, while, do-while, break, continue
by Choi HyeSun
반복문
-
어떤 작업이 반복적으로 수행되도록 할 때 사용
-
for문, while문, do-while(while 변형문)문이 있음
-
주어진 조건을 만족하는 동안 주어진 문장을 반복적으로 수행
-
조건식 포함
-
true ; 반복
-
false ; 반복하지 않음
-
do-while문은 1번 이상 반복
-
for/while은 0번 이상 반복
-
for/while은 구조와 기능이 유사하여 어느 쪽을 선택해도 좋음
-
for는 보통 반복횟수를 알고있을 때 사용
for문 : 정의
-
반복 횟수를 알고 있을 때 적합
-
구조가 조금 복잡할 수 있지만 직관적이라 이해하기 쉬움
-
for(초기화;조건식;증감식) 형태
-
중첩 가능
for문 : 형태(초기화, 조건식, 증감식)
-
초기화
-
반복문에 사용될 변수를 초기화, 처음 한 번만 수행
-
둘 이상의 변수가 필요할 경우 콤마’,’로 구분하여 변수를 여러개 초기화 할 수 있음(단, 타입은 같아야 함)
ex) int i = 1, j = 2; -
for문에 사용되는 변수가 적은 것이 더 효율적이고 간단하므로 변수들의 관계를 잘 파악하여 불필요한 변수의 사용을 줄이는 것이 좋음
-
-
조건식
-
true/false로 결과를 반환하는 식
-
잘못 작성하면 무한 루프에 빠질 수 있기 때문에 유의하여 작성
-
-
증감식
-
반복문을 제어하는 변수의 값을 증가 또는 감소
-
++, --, +=, -= 등 사용
-
초기화와 마찬가지로 둘 이상 콤마’,’로 연결해서 사용 가능
-
-
초기화, 조건식, 증감식 모두 생략이 가능함
-
필요하지 않으면 생략을 할 수 있으며, 모두 생략도 가능
-
단, 모두 생략한 경우 조건식은 참(true)으로 고정
-
Enhanced for Statement (향상된 for문)
-
JDK 1.5부터 제공
-
배열과 컬렉션에 저장된 요소에 접근할 때 편한 방법
-
초기화 변수 타입은 배열 또는 컬렉션 요소의 타입이어야 함
-
배열 또는 컬렉션에 저장된 값이 매 반복마다 하나씩 순서대로 읽혀서 변수에 저장됨
-
반복문에서는 이 변수를 이용한 문장을 수행
-
일반적인 for문보다 간결함
-
일반적인 for문과 달리 배열이나 컬렉션에 저장된 요소들을 읽어오는 용도로만 사용할 수 있다는 제약
for문 예제
-
예제 1. 기본적인 for문
-
- 초기화 → 2. 조건식 → 3-1 (참) 문장 수행 → 4. 증감식 → 2. 조건식 → (반복) → 3-2 (거짓) Pass
-
- 예제 2. 중첩 for문
- 예제 3. 블럭 내 문장이 1개라면 괄호 생략 가능. 단, 가독성 주의
-
예제 4. (주의) for문 뒤에 ;를 붙이면 for문은 {} (빈 블럭)을 인식하고, 그 아래 블럭은 블럭으로 인식되서 그냥 한 번 수행
- 1 == 2 == 3
while문
-
for문에 비해 구조가 간단
-
조건식이 ‘참(true)’인 동안, 블럭 { } 내의 문장을 반복
-
for과 다르게 조건식을 생략할 수는 없음
-
-
항상 참이 되려면 true를 넣어줄 것
-
사용할 변수의 초기화는 while문 인입 전 해줘야함
do-while문
-
그리 많이 쓰지 않지만, 반복적으로 사용자의 입력을 받아서 처리할 때 유용
-
while문의 변형으로, 기본적인 구조는 while과 같고 조건식과 블럭{ }의 순서를 바꾸어 둔 것
- 최소한 한 번은 수행됨
break문
-
반복문에서도 switch문을 사용할 수 있음
-
자신이 포함된 가장 가까운 반복문(블럭)을 벗어남
-
무한 반복문에서는 조건문과 break문이 항상 같이 사용
- 그렇지 않으면 무한 루프에 빠지기 때문에 프로그램이 종료되지 않음
continue문
-
반복문 내에서만 사용 가능
-
반복 중 Continue문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어감
-
for : 증감식으로 이동
-
while / do-while : 조건식으로 이동
주의) 증감식이 continue 아래에 있다면 무한 루프에 빠지게 됨
-
-
break와 차이점
-
break : 조건문 탈출
-
continue : 조건문의 현재 조건을 끝내고 다음 조건을 확인하러 감
-
-
전체 반복 중 특정 조건을 만족하는 경우를 제외하고자 할 때 유용함
반복문에 이름 붙이기(with break & continue)
-
break와 continue는 가장 근접한 반복문에 대해서 적용됨
-
반복문에 이름을 붙일 경우 break와 continue에 이름을 명시해주면, 해당 반복문에 대해 적용 가능
-
이름 붙이는 법 : for문이나 while문 앞에 이름:를 붙임
-
방법 1. 이름: 조건문
-
방법 2. 이름:
조건문
-
Subscribe via RSS