공부기록 3일차-1
기억하고 들어가기! += 의 기능은 두 값을 더해 왼쪽에 대입하는 것
continue문은 반복문과 함께 쓰인다. 반복문 안에서 continue문을 만나면 이후 문장을 수행하지 않고 for문의 처음으로 돌아가 증감식(예:for num==1; num <= 100; num++)을 수행한다.
1부터 100까지 수를 더할 때 홀수일 때만 더하고 짝수일 때는 더하지 않는 프로그램을 작성해 보자
int total = 0;
int num;for(num = 1; num <= 100; num++) { //100까지 반복
if(num % 2 == 0) //num의 값이 짝수인 경우
continue; //이후 수행을 생략하고 num++수행
total += num; //num값이 홀수인 경우에만 수행
}
system.out.println("1부터 100까지의 홀수의 합은:" + total + "입니다.");
...
continue문은 위처럼 반복문을 수행하는데 특정 조건에서는 수행하지 않고 건너뛰어야 할 때 사용합니다.
swich-case문에서와 마찬가지로 반복문에서도 break문을 사용하면 조건을 만족하였을 때 다른 조건을 더 이상 비교하지 않고 반복문을 빠져나옵니다.
0부터 시작해 숫자를 1씩 늘리면서 합을 계산할 때 숫자를 몇까지 더하면 100넘어가는지 반복문을 통해 알아보자
int sum = 0;
int num = 0;for(num = 0; sum < 100; num++) { //합한 값이 100보다 클 때 종료
sum += num;
}
system.out.println("num:" + num);
system.out.println("sum:" + sum);
}
이렇게 했을 경우 출력결과는
num : 15
(합)sum : 105
가 나오게 된다. 그렇다면 1부터 15까지 더했을 때 100이 넘게 되는 것일까?
합이 105가 되는 순간 num의 값은 14였다. 즉 1부터 14까지 더해져 105가 되었고 num값이 1씩 증가해 15가 된 후 조건을 비교해 보니 100보다 커서 반복문이 끝난 것이다.
정확한 값인 14를 얻기 위해선 증감하기 전에 반복문을 끝내야 한다.
break문을 사용해 증감하기 전 반복문을 끝내보자
int sum = 0;
int num = 0;for(num = 0; ; num++) { //break문 사용해 조건식 생략, 생략을 해도 세미콜론은 필수
sum += num;
if(sum >= 100) //sum이 100보다 크거나 같을 때(종료조건)
break //반복문 중단
}
system.out.println("num:" + num);
system.out.println("sum:" + sum);
}
위 예제에서 보이는 것처럼 프로그램을 실행 중 반복을 중단하려면 break문을 사용해야 정확한 결과 값을 얻을 수 있다.