반복문은 한 번 작성된 실행문을 여러 번 반복 실행하기 위해 사용한다.
조건문에 비해 코드가 간결하며 에러가 생길 확률 또한 낮다는 특징이 있다.
예) 1~100까지 반복적으로 코드를 실행해야 할 때 if 또는 switch문은 1~100까지의 경우를 개별적으로 작성해야 되지만 for문은 하나의 실행문만 작성하면 됨
for 문
주어진 횟수만큼 반복문 실행할 때 사용하며 조건식이 true인 동안에 반복 실행된다.
for (초기화식 ; 조건식 ; 증감식){실행문} |
- 초기화 식에는 주로 변수 선언문이 들어가며 생략해도 된다.
- 변수 선언은 ,(콤마)로 구분하여 여러 개 작성이 가능하다
- for문에서 선언한 변수는 for문 안에서만 사용되는 로컬 변수이기 때문에 for문을 빠져나가면 사용할 수 없다.
- 로컬 변수이기 때문에 여러 for문에서 변수 int = i를 중복적으로 사용할 수 있다.
int sum = 0;
for(int i = 1; i <= 100; i++) {
sum = sum + i;
}
System.out.printf("100까지의 합계는 = %d",sum);
//짝수의 합
sum = 0;
for(int i = 0; i <= 100; i=i+2) {
sum = sum + i;
}
System.out.printf("%n100까지의 짝수의 합계는 = %d",sum);
//홀수의 합
sum = 0;
for(int i = 1; i <= 100; i=i+2) {
sum = sum + i;
}
System.out.printf("%n100까지의 홀수의 합계는 = %d",sum);
- System.out.prinft( )를 for문 안에다 실행시키면 1부터 100까지 계산되는 전 과정이 모두 도출되기 때문에 결과 값만 나타내기 위해 for문 밖에 작성한다.
while 문
조건식이 true인 동안에 반복 실행하며 false가 되면 실행문을 빠져나오고 종료한다.
while( 조건식 ){ 실행문 } |
- 조건식에는 boolean타입 변수나 true/false값을 산출하는 연산식이 온다
-while문을 빠져나오기 위해서는 break문을 사용하거나 변수의 값을 false로 만들면 된다.
int i = 0;
int sum = 0;
//1~100까지 합
while(i<100) {
i = i + 1;
sum = sum + i;
}
System.out.printf("%d까지의 합계는 %d\n", i, sum);
System.out.println("---------------");
//1~100까지 짝수의 합
i = 2;
sum = 0;
while(i <= 100) {
sum = sum+i;
i = i+2;
}
System.out.printf("%d까지의 짝수의 합계는 %d\n",i,sum);
System.out.println("----------------");
//1~100까지 홀수의 합
i = 1;
sum = 0;
while(i < 10) {
sum = sum+i;
i = i + 2;
}
System.out.printf("%d까지의 홀수의 합계는 %d\n",i,sum);
//1~10까지 5의 배수 합
i = 5;
sum = 0;
while(i<=10){
sum = sum+i;
i = i + 5;
}
System.out.printf("%d까지의 5의 배수 합계는 %d\n",i,sum);
System.out.println("프로그램 종료!");
break 문
실행문을 중지 시킬 때 사용한다.
- switch문에서 default값 제외한 모든 case에 넣어준다.
- for문, while문, do-while문과 같은 반복문에서는 주로 if문과 같이 사용한다.(조건에 따라 실행문 종료)
- 가까운 반복문만 종료하기 때문에 중첩으로 사용한 반복문을 모두 종료하고 싶을 땐 break 이름;