본문 바로가기
수업(국비지원)/Java

[Java] chap4 : 제어문(조건문, 반복문) - 반복문(for, while, do while)

by byeolsub 2023. 4. 14.
  • 반복문(for, while, do while)
 1. for 문
  for (초기화;조건식;증감식) {
     문장들...
  }

실행 순서
 1. 초기화 
 2. 조건식 - 참: 문장들 실행
            거짓: for문 밖으로 제어 이동
 3. 문장들 실행
 4. 증감식 => 2번 조건식으로 이동

2. while 문
 while (조건식) {
     문장들...
}

실행 순서
 1. 조건식 - 참: 문장들 실행
            거짓: while문 밖으로 제어 이동 
 2. 문장들 실행 => 1번 조건식으로 이동

3. do while 문
 do {
   문장들...
} while(조건식);

실행 순서 
 1. 문장들 실행
 2. 조건식 - 참: 1번 문장으로 이동
            거짓: do whlie 밖으로 제어 이동

 

📌

package chap4;
/*
 * 반복문 예제 => (조건식)의 결과가 참인 동안 {}의 내용을 실행
 * 12345 출력하기
 */
public class LoopEx1 {
	public static void main(String[] args) {
		//1
		System.out.println("1.반복문 없이 출력");
	    System.out.println(1);
	    System.out.println(2);
	    System.out.println(3);
	    System.out.println(4);
	    System.out.println(5);
	    //for구문 : 한눈에 정형화 되어있는, 시작과 끝을 볼 수있는 경우
	    System.out.println("2.for구문으로 출력");
	    /*
	     * 1. int i=1 : 초기값 실행
	     * 2. i<=5 : 조건문. i=1  =>T
	     * 3. System.out.println(1);
	     * 4. i++  i:2
	     * 2. i<=5 : 조건문. i=2  =>T
	     * 3. System.out.println(2);
	     * 4. i++  i:3
	     * 2. i<=5 : 조건문. i=3  =>T
	     * 3. System.out.println(3);
	     * 4. i++  i:4
	     * 2. i<=5 : 조건문. i=4  =>T
	     * 3. System.out.println(4);
	     * 4. i++  i:5
	     * 2. i<=5 : 조건문. i=5  =>T
	     * 3. System.out.println(5);
	     * 4. i++  i:6
	     * 2. i<=5 : 조건문. i=5  =>F  
	     */
	    for(int i=1;i<=5;i++) {
	    	System.out.print(i);
	    }
	    System.out.println();
	    //while 구문 : 조건문 먼저 시행 
	    //          언제끝날지 잘 모를 때 혹은 계속 무한반복을 해야 할 경우 
	    System.out.println("3.while구문으로 출력");
	    int i=1;
	    while(i<=5) {
	    	System.out.print(i);
	    	i++;
	    }
	    System.out.println();
	    //do while 구문 : 조건에 관계없이 문장을 한번정도 하고 싶을 때 
	    System.out.println("4.do while구문으로 출력");
	    i=1;
	    do {
	    	System.out.print(i);
	    	i++;
	    }while(i<=5);
	    System.out.println();
	}
}

 

📌 반복문 예제1

package chap4;
/*
 * 반복시 시작점과 끝점 반드시 알아두기
 * 반복문을 이용하여 1~10까지의 합 구하기
 */
public class LoopEx2 {
	public static void main(String[] args) {
		//반복문 안쪽에 실행되는 문장이 한개인 경우{} 생략 가능
	   System.out.println("for구문");
	   int sum=0,i=0;
	   for(i=1;i<=10;i++) {//i:10
		   sum +=i; //1+2+3+4...+9+10
	   }
	   System.out.println("1~10까지의 합:"+sum);
	   System.out.println("i="+i);
	   System.out.println("while구문");
	   
	   sum=0;
	   i=1;
	   
	   while(i<=10) {
		   sum +=i; //1+2+3....+9+10
		   i++;//10
	   }
	   System.out.println("1~10까지의 합:"+sum);
	   System.out.println("i="+i);
	   System.out.println("do while구문");
	   
	   sum=0;
	   i=1;
	   
	   do {
		   sum += i; //1+2+3...+9+10
		   i++;//10
	   }while(i<=10);
	   System.out.println("1~10까지의 합:"+sum);
	   System.out.println("i="+i);
	}
}

📌 반복문 예제2

package chap4;
import java.util.Scanner;

/*
 * 화면에서 999숫자가 입력될때 까지 숫자 입력받아 총 입력된 숫자의 합을 출력하기
 * 
 * [결과]
 * 숫자를 입력(총:999)
 * 123456....
 * 1+2+3+4+5+....출력
 */
public class LoopEx3 {
	public static void main(String[] args) {
		System.out.println("숫자를 입력(종료:999)");
		Scanner scan = new Scanner(System.in);
           int num=0;
           int sum=0;
           while(true) { //무조건 반복. 반복문장 내부에 break 문장 사용.
        	   num=scan.nextInt();
              if(num==999)
            	  break; //조건과 상관 없이 반복을 강제 종료. 반복문 밖으로 제어 이동
        	   sum+=num;
           }
           System.out.println("입력된 수의 합 :"+sum);
	}

}