정답
for(int i = 1; i <=100; i++) { if(i % 2 ==0) { System.out.println(i); } }
해설
for 반복문을 이용하는 문제입니다. for 문의 문법은 다음과 같이 사용합니다.
for(초기문; 조건문; 증감문) { 반복 실행할 문장들; }
초기문에서 처음 한 번만 초깃값을 부여하고, 조건이 만족할 때만 조건문을 실행하고, 증감 부분을 실행해 i값을 바꿔줍니다. 그다음에는 조건을 비교하는 부분부터 조건에 만족하지 않을 때까지 반복 수행하게 됩니다. 따라서 다음과 같은 순서에 따라 실행합니다.
그림 18-1 | for 반복문 실행 순서
1~100까지 출력하면 되므로 i를 1로 초기화하고, 조건은 i가 100보다 작거나 같을 때까지 반복하도록 설정합니다. 조건에 만족했을 때 실행하고 싶은 문장은 i가 짝수일 때만 출력하면 되므로 if 문을 이용해 i를 2로 나눈 나머지가 0과 같을 때만 i를 출력하도록 합니다.
NOTE
생각해볼까요?
여러 종류의 반복문을 학습했습니다. 다양한 반복문이 어떤 차이가 있을까요? 어떤 경우에 for나 while을 사용하는 것이 좋을지 생각해보세요.
예를 들어, 다음 문장을 처리할 때 어떤 반복문을 쓰는 것이 좋을까요?
1. 영어 단어 10개만 외우세요.
2. 영어 단어를 한 시간 동안 외우세요.
1번은 for, 2번은 while이 적합합니다. 이유는 각자 생각해보세요.