더북(TheBook)

정답

while(i <= 10) {
    System.out.println(i);
    i++;
}

 

해설

어떤 일을 반복 수행하고 싶을 때는 반복문을 사용합니다. while 문은 while 다음 괄호에 조건을 넣어주고, 조건을 만족하면 while 블록을 실행시킵니다. 블록 끝까지 실행한 뒤 다시 while 문의 조건을 판단하고 조건을 만족하면 while 블록을 실행시키는 일을 반복합니다.

 

따라서 원하는 만큼 반복한 뒤 더 이상 조건을 만족하지 않도록 만들어주는 것이 중요합니다. 또한, 문제에서 i10과 같거나 작은지를 판단하는데 i 값을 바꾸는 문장이 while 블록 안에 포함되지 않아도 무한 반복하게 됩니다. i++i1씩 증가시켜서 i11이 될 때 조건에 만족하지 않게 되므로 while 반복문을 종료합니다.

 

 

문제 2 다음 코드는 while 문에 i를 이용해 1~10까지 출력합니다. if 문을 추가해 i가 짝수일 때만 i가 출력되게 하세요.

01  public class WhileExam{
02    public static void main(String[] args) {
03        int i = 1;
04        while(i<11) {
05        ______________________
06        System.out.println(i);
07        ______________________
08        i++; 
09        }
10    }
11  }

 

실행결과

2
4
6
8
10

 

정답

while(i<11) {
    if(i%2==0) {
        System.out.println(i);
    }
    i++; 
}

 

해설

반복문과 조건문을 같이 사용하는 문제입니다. 문제 1은 1~10까지 모두 출력했지만, 문제 2는 짝수만 출력합니다. 조건에 만족할 때만 일을 수행하도록 제어문을 잘 이용하면 되겠죠? if 문의 조건에 만족할 경우에만 if 블록 안 문장을 수행하게 합니다.

 

짝수일 때만 출력하고 싶기 때문에 짝수인지 검사해야 합니다. 짝수인지 검사하려면 i2로 나누어서(i%2) 그 값이 0인지 검사하면 됩니다. 나머지가 0이면 짝수라고 판단할 수 있겠죠. i2로 나눈 나머지가 0과 같은지를 판단해, 같다면 if 문이 수행하도록 코드를 만들어줍니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.