자바에서 반복문 중에 while
과 do while
이 있습니다. 둘다 어떤 코드를 반복적으로 수행하는 것인데, 약간의 차이점이 있습니다.
각각 어떻게 동작하는지 확인하고 차이점에 대해서 알아보겠습니다.
1. while 반복문
while문은 먼저 반복 조건을 확인하고, 조건이 충족한다면(true) 코드(statement)를 수행합니다. 그리고 다시 반복 조건을 확인하고 조건이 충족하면 코드 수행을 반복하고 충족하지 않으면(false) 반복문에서 빠져나옵니다.
아래와 같은 형식으로 while
반복문을 구현할 수 있습니다.
while (condition) {
statement
}
아래 예제는 while을 사용하여 5까지 카운트하는 예제입니다.
public class Example {
public static void main(String[] args) {
int count = 0;
while (count < 5) {
System.out.println("Count : " + count);
count++;
}
}
}
Output:
Count : 0
Count : 1
Count : 2
Count : 3
Count : 4
2. do while 반복문
do while 반복문은 while과 다르게 반복 조건을 먼저 체크하지 않습니다. 코드(statement)를 먼저 실행하고 그 다음에 반복하기 전에 반복 조건을 체크합니다. 반복 조건을 충족(true)하면 반복하고 그렇지 않으면(false) 반복문을 빠져나옵니다.
아래와 같은 형식으로 do while
반복문을 구현할 수 있습니다.
do {
statement
} while (condition);
아래 예제는 do while을 사용하여 5까지 카운트하는 예제입니다.
public class Example {
public static void main(String[] args) {
int count = 0;
do {
System.out.println("Count : " + count);
count++;
} while (count < 5);
}
}
Output:
Count : 0
Count : 1
Count : 2
Count : 3
Count : 4
3. while과 do while의 차이점
while과 do while의 차이점은, do while의 경우 처음에 반복 조건을 충족하지 못해도 코드를 한번 실행할 수 있다는 것입니다.
반면에 while은 처음에 반복 조건이 충족하지 않으면 어떤 코드도 실행하지 않고 반복문을 빠져나옵니다.
아래 예제는 do while을 사용한 코드입니다. 조건을 보면 count < 0
은 false가 되지만 코드는 한번 실행됩니다. 그리고 반복 조건을 체크하는데 조건이 충족되지 않아 다시 반복하지 않고 반복문을 빠져나옵니다.
public class Example {
public static void main(String[] args) {
int count = 0;
do {
System.out.println("Count : " + count);
count++;
} while (count < 0);
}
}
Output:
Count : 0
아래 예제는 조건은 count < 0
로 같지만 while을 사용하는 예제입니다.
처음부터 반복 조건이 false이기 때문에 어떤 코드도 수행하지 않고 바로 반복문을 빠져나옵니다. 결과를 보면 아무것도 출력되지 않습니다.
public class Example {
public static void main(String[] args) {
int count = 0;
while (count < 0) {
System.out.println("Count : " + count);
count++;
}
}
}
Output:
Related Posts
- Java - Unsupported class file major version 61 에러
- Java - String.matches()로 문자열 패턴 확인 및 다양한 예제 소개
- Java - 문자열 공백제거 (trim, replace)
- Java - replace()와 replaceAll()의 차이점
- Java - ArrayList 초기화, 4가지 방법
- Java - 배열 정렬(Sorting) (오름차순, 내림차순)
- Java - 문자열(String)을 비교하는 방법 (==, equals, compare)
- Java - StringBuilder 사용 방법, 예제
- Java - 로그 출력, 파일 저장 방법 (Logger 라이브러리)
- Java IllegalArgumentException 의미, 발생 이유
- Java - NullPointerException 원인, 해결 방법
- Seleninum의 ConnectionFailedException: Unable to establish websocket connection 해결
- Java - compareTo(), 객체 크기 비교
- Java - BufferedWriter로 파일 쓰기
- Java - BufferedReader로 파일 읽기
- Java charAt() 함수 알아보기
- Java - BigInteger 범위, 비교, 연산, 형변환
- Java contains()로 문자(대소문자 X) 포함 확인
- Java - Set(HashSet)를 배열로 변환
- Java - 문자열 첫번째 문자, 마지막 문자 확인
- Java - 문자열 한글자씩 자르기
- Java - 문자열 단어 개수 가져오기
- Java - 1초마다 반복 실행
- Java - 배열을 Set(HashSet)로 변환
- Java - 여러 Set(HashSet) 합치기
- Java - 명령행 인자 입력 받기
- Java - 리스트 역순으로 순회, 3가지 방법
- Java - 특정 조건으로 리스트 필터링, 3가지 방법
- Java - HashMap 모든 요소들의 합계, 평균 계산
- Java - 특정 조건으로 HashMap 필터링
- Java - 싱글톤(Singleton) 패턴 구현
- Java - 숫자 왼쪽에 0으로 채우기
- Java - String 배열 초기화 방법
- Java - 정렬된 순서로 Map(HashMap) 순회
- Java - HashMap에서 key, value 가져오기