-
4. 자바 배열과 반복문 (5) while자바(Java) 강의 2019. 3. 24. 04:22
이번 포스트에선 자바에서 제공하는 반복문 중 하나인 while문에 대해서 알아보도록 한다.
예상 독자
- 자바를 배우고 싶은 누구나
- JDK와 IDE를 설치한 자바 학습자. ( 1. 자바 설치 및 개발환경 설정 )
- char를 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (1) char )
- boolean을 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (2) boolean )
- byte, short, int, long을 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (3) byte, short, int, long )
- float과 double을 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (4) float, double )
- if-else문의 사용 방법을 알고있는 자바 학습자. ( 3. 자바 조건문 (1) if-else )
- 자바 배열을 공부한 자바 학습자. ( 4. 자바 배열과 반복문 (1) 배열 )
- 자바 반복문 for 문을 공부한 자바 학습자 ( 4. 자바 배열과 반복문 (2) 반복문 )
목표
- while문
- break
while문
while문은 for문 처럼 자바가 제공하는 반복문 중 하나이다. 문법은 아주 간단하다.while ( 논리식 ) {
}괄호 안의 논리식이 true인 동안 while은 내부 블록을 계속해서 반복한다.
예를 들어 아래를 보자.
public class Main {
public static void main(String[] args) {
while (true) {
System.out.println("이것은 무한루프.");
}
}
}괄호 안이 true이므로 while은 해당 블록을 계속 반복 할 것이다. 이렇게 영원히 반복하는 반복문을 무한루프라고 부른다. 다른 예를 보자.
public class Main {
public static void main(String[] args) {
char[] numbers = {'a', 'b', 'c', 'd', 'e', 'f'};
int i = 0;
while(i < numbers.length) {
System.out.println(numbers[i]);
i++;
}
}
} 실행 결과: a b c d e f위의 코드는 i가 배열의 길이보다 작은동안 반복한다, 그리고 반복 하나가 끝나기 전에 i를 1 증가한다. 따라서 i는 언젠가 numbers배열의 길이보다 커질 것이도 while문은 종료 될 것이다. 위와 똑같은 기능을 하는 코드를 for문으로 작성 할 수 있다.
public class Main {
public static void main(String[] args) {
char[] numbers = {'a', 'b', 'c', 'd', 'e', 'f'};
for(int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
}
}위 처럼 for문으로 작성 할 수 있는 코드는 while문으로도 작성 할 수 있다. 또 while문으로 작성 할 수 있는 코드는 for 문으로도 작성 할 수 있다. 상황에 따라서 더 적합한 것을 쓰면 된다. for문은 보통 i처럼 인덱스 값에 의존하는 경우 많이 쓰고 while은 그렇지 않은 경우 많이 쓴다.
break
반복을 하던 도중 반복문을 중단하고 나가고 싶다면 어떻게 하겠는가? 그럴 떄 바로 break를 써서 나갈 수 있다.
public class Main {
public static void main(String[] args) {
int i = 0;
while(true) {
if(i == 10) {
break;
}
System.out.println("i = " + i);
i++;
}
System.out.println("끝.");
}
} 실행 결과: i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 끝.위처럼 break를 이용하면 반복문 중간에 빠져나올 수 있다. while뿐만 아니라 for문에도 해당된다.
public class Main {
public static void main(String[] args) {
char[] numbers = {'a', 'b', 'c', 'd', 'e', 'f'};
for(int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
if(numbers[i] == 'd') {
break;
}
}
System.out.println("끝.");
}
}
실행 결과: a b c d 끝.끝
이 외에도 do-while또 goto 문으로 반복 할 수 있지만 거의 쓰이지 않으므로 생략하겠다. 거의 쓰이지 않기도 하고 권장되지 않는 문법이기도 하다. 다음 포스트에서는 함수에 대해 알아보도록 하겠다.
다음 포스트:
'자바(Java) 강의' 카테고리의 다른 글
6. 자바 오브젝트와 클래스 (1) built-in 오브젝트 (1) 2019.03.26 5. 자바 메서드 (6) 2019.03.25 4. 자바 배열과 반복문 (4) 연습 - 배열의 최댓값 구하기 (11) 2019.03.17 4. 자바 배열과 반복문 (4) 중첩 반복문 (0) 2019.03.14 4. 자바 배열과 반복문 (3) 중첩 배열 (2) 2019.03.09 댓글