while문
구조 : if문처럼 조건식
과 블럭{}
만으로 이루어졌지만, 조건식이 참(true)인 동안
블럭{}내 문장 반복
while (조건식) {
//조건식의 연산결과가 참(true)인 동안, 반복될 문장들을 적음
}
1. 조건식이 참(true)이면 블럭{}안으로 들어가고, 거짓(false)이면 while문 벗어남
2. 블럭{}의 문장을 수행하고 다시 조건식으로 돌아감
<for문>
//초기화, 조건식, 증감식
for(int i = 1; i <= 10; i++) {
System.out.println(i);
}
<while문>
int i=1; //초기화
while(i<=10) { //조건식
System.out.println(i);
i++; //증감식
}
- i--가 후위형이므로 조건식이 평가된 후에 i의 값이 감소됨
- 예로, i의 값이 1일 때는 조건식이 참으로 평가된 후 i의 값이 1 감소되어 0이 됨
- 어떤 수를 10으로 나머지 연산하면 마지막 자리를 얻고, 10으로 나누면 마지막 한자리(1의 자리)가 제거 된 몫을 얻음
num num%10 sum = sum + num % 10 num = num / 10 12345 5 5 = 0 + 5 1234 = 12345 / 10 1234 4 9 = 5 + 4 123 = 1234 / 10 123 3 12 = 9 + 3 12 = 123 / 10 12 2 15 = 12 + 2 1 = 12 / 10 1 1 15 = 14 + 1 0 = 1 / 10 0 - - -
- num의 값은 'num/=10'에 의해 한자리씩 줄어들다가 0이 되면, while문의 조건식이 거짓이 되어 반복을 멈춤