자바

[JAVA] 반복문

코딩하는둥이 2022. 11. 18. 23:26

반복문 

 주어진 조건이 만족할 때까지 수행문을 반복적으로 수행함

 while, do-while, for문이 있음

 조건의 만족과 반복가능 여부에 대해 정확한 코딩을 해야 함 

 

while문 

 - 조건식이 참인 동안 수행문을 반복해서 수행

 - 하나의 조건에 대해 반복수행이 이루어질 때 사용

 - 조건이 맞지 않으면 수행문이 수행되지 않음

 - 주오 조건식 true, false로 나타남

public class Main
{
	public static void main(String[] args) {
		int num = 1;
		int sum = 0;
		
		while(num <= 10){ // num 값이 10보다 작거나 같을 동안
		    sum += num;   // 합계를 못하는 sum에 num을 더하고
		    num++;        // num에 1씩 더해나감
		}
		System.out.println("1부터 10부터까지의 합은 " + sum + "입니다.");
	}
}

무한반복

do while문 

 - 먼저 수행문을 한 번 수행하고 조건식 체크

 - 수행문이 반드시 한 번 이상 수행 되어야 하는 경우 사용

 - 하나의 조건에 대해 반복수행이 이루어질 때 사용

 - 단, 수행문이 반드시 한번 이상 수행됨

public class Main
{
	public static void main(String[] args) {
		int num = 1;
		int sum = 0;
		
		do{ 
		    sum += num;  
		    num++;       
		}while(num < 11);
		System.out.println("1부터 10부터까지의 합은 " + sum + "입니다.");
	}
}

무한반복

for문 

 - 반복문 중 가장 많이 사용하는 반복문

 - 주로 조건이 획수인 경우에 사용

 - 초기화식, 조건식, 증감식을 한꺼번에 작성

 - 수의 특정 범위, 횟수와 관련한 반복수행에서 주로 사용

for문 수행과정

 

num값 1(초기화) 2 3 4 5 6
조건식
(num<=5)
거짓
출력 값 1 2 3 4 5 for문 종료
증감식 수행 수행 수행 수행 수행 X

무한반복

중첩된 반복문 

 - 반복문 내부에 또 반복문이 사용됨

 - ex) 구구단

public class Main
{
	public static void main(String[] args) {
		for(int dan = 2; dan <= 9; dan++){
		    for(int times = 1; times <= 9; times++){
		        System.out.println(dan + "x" + times + "=" + dan * times);
		    }
		    System.out.println(); // 한 줄 띄워서 출력
		}
	}
}

continue문 

 - 반복문과 함께 쓰이며, 반복문 내부 continune 문을 만나면 이후 반복되는 부분을 수행하지 않고 조건식이나 증감식을 수행함

 - 1부터 100까지 홀수마 더하는 예

public class Main
{
	public static void main(String[] args) {
		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 + "입니다.");
	}
}

break문 

 - 반복문에서 break 문을 만나면 더 이상 반복을 수행하지 않고 반복문을 빠져나옴

 - 중첩된 반복문 내부에 있는 경우 가장 가까운 반복문 하나만 빠져나옴 아래의 겨우 내부 반복문만 나옴

public class Main
{
	public static void main(String[] args) {
		int sum = 0;
		int num = 0;
		
		for(num =0; ; num++){
		    sum +=num;
		    if(sum >=100)   // sum이 100보다 크거나 같을 때(종료조건)
		       break;       // 반복문 중단
		}
		System.out.println("num: " + num);
	    System.out.println("sum: " + sum);
	}
	
}

'자바' 카테고리의 다른 글

[JAVA] 클래스와 객체 1  (0) 2022.11.19
[JAVA] 객체와 클래스  (0) 2022.11.19
[JAVA] 조건문  (0) 2022.11.14
[JAVA] 기본 출력  (0) 2022.11.13
[JAVA] 백준 기초공부 1  (0) 2022.11.12