반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문이다. 프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많으므로, 가장 많이 사용되는 제어문 중 하나이다.
종류에는 while, do-while, for문이 있다.
while(조건문){
실행문;
}
간단한 예시
int 몸무게 = 75; while(몸무게 > 70){ 다이어트; }
조건문에 몸무게가 70kg초과일때 실행되며 whlie문 안에서 다이어트라는 실행문을 통해 반복하게 되고 만약 다이어트를 통해 70미만이 되었을 경우 자동으로 while문을 빠져나와 종료가 된다.
이때 중요한 것은 만약 whlie문 안에 실행문을 작성하지 않을 경우 영원히 반복될 것이므로 어느 순간 거짓(false)을 갖도록 조건식의 결과를 변경하는 명령문을 포함시켜줘야 한다.
(1) Break문
int num = 1;
boolean search = false;
// 처음 만나는 5의 배수이자 7의 배수인 수를 찾는 반복문
while(num<100){
if(((num%5)==0) && ((num%7)==0)){ // 5와 7의 배수를 찾게되면
search = true; // search 값을 true변경
break; // 반복문 빠져나옴
}
num++;
}
System.out.println("찾는 정수:"+num);
(2) Continue문
int num = 0;
int count = 0;
while((num++)<100){
if(((num % 5) != 0) || ((num%7)!=0)){
continue;
}
count++;
System.out.println(num);
}
System.out.println("count:"+count);
do{
실행문;
}while(조건문);
간단한 예시
do{ 요금 납부; }while(납부한 요금 != 연체 요금);
도서관에서 책을 빌리고 반납기간이 지나 연체료 1만원을 납부해야 하는 상황일때, a사람이 5천원만 납부했다고 가정해보자 그럼 나머지 5천원이 부족하여 도서관에서는 계속해서 연체료를 납부하라고 할 것이다. 즉, 실행문인 요금납부는 무조건 한번 실행하게 되고 난 후 조건문을 통해 비교를 해보고 거짓이 될때까지 반복하게 된다.
for(초기화식; 조건식; 증감식){
실행문;
실행문;
}
간단한 예시
for(현재 몸무게 = 75; 현재 몸무게<70; 현재 몸무게--){ 다이어트; }
현재 몸무게를 75로 초기화를 하고, 70미만으로 갈때까지 반복하겠다는 조건식을 선언한 후, 조건식이 반복(다이어트를 할때마다)될때마다 -1씩 되어 현재 몸무게가 70미만이 되게 되면 반복문을 빠져나오게 된다.
간단한 별찍기
for(int i =1; i<=5; i++){
for(int j=i; j<6; j++){
System.out.print("*");
}
System.out.println("");
}
예시
int[] arr = new int[1001]; // 배열 크기 선언
int sum = 0;
for(int i=0; i<arr.length; i++) { // 배열안에 값 넣기
arr[i] = i+1;
}
for(int i:arr){ // for-each문을 통해 배열의 수만큼 모두 더하기
sum += i;
}
System.out.println(sum);
String str = "test";
String repeat = str.repeat(3);
System.out.println("원본 :"+str);
System.out.println("repeat : " + repeat);