본문 바로가기
프로그래밍 공부/Java

[lesson] Java 프로그래밍 언어 - 반복문, 기타 제어문

by Luna_lua 2021. 7. 26.
반응형

입출력을 배우고 조건문을 배웠습니다. 그렇다면 이런 질문이 생기지 않을까요? 

예를 들어 몇 번 출력할까요?라고 출력!

10이라고 입력!

그렇다면 출력을 10번 어떻게 하실 건가요? 혹시... 이렇게 할 것인가요?

System.out.println("1번 출력");
System.out.println("2번 출력");
System.out.println("3번 출력");
System.out.println("4번 출력");
System.out.println("5번 출력");
System.out.println("6번 출력");
System.out.println("7번 출력");
System.out.println("8번 출력");
System.out.println("9번 출력");
System.out.println("10번 출력");

그럼 이게 10번이 아니라 1,000번 10,000번이어도 이렇게 하실 건가요? 

 

이러한 질문에서 시작해 오늘은 반복문을 배워보려 합니다~

문법은 많이 어렵지 않지만 생각보다 많은 고민을 하는 파트이기 때문에 잘 알아가 봅시다!!

 

반복문을 만들려고 하면 어떠한 질문이 생각나나요? 바로 몇 번 반복할 건데?라는 질문이 생각날 것입니다.

그러한 질문을 위해서 증감 연산자라는 것부터 배워 볼까요?

 

대입 연산자 (복합 대입 연산자, 누적 연산자)

// +=, -=, *=,
	int money = 10000;
	//money = money - 1000; 2번줄과 3번줄을 한줄로 합치면
	money -= 1000; // 4번 줄이 됩니다.
	System.out.print(money);

	int data = 10; // 10에 1을 더하고 싶으면
	data +=1; // 위와같이 바뀌고 
	// data++; 1이 증가할때는 ++로 한번더 생략이 됩니다.
    // 반대로 1을 뺄때는 --로 사용합니다.
    
	System.out.print(data);

 

여기서 ++과 --는 위치에 따라 적용방법이 달라집니다.

// 전위형
++data
// ++data는 2번줄을 실행하기 전 1을 더해주고 실행을 하고

// 후위형
data++
// data++은 6번줄을 모두 실행 후 1을 더해주고 다음 줄의 실행코드를 실행합니다.

그럼 증감 연산자도 배웠으니 반복문을 배워 볼까요?

첫 번째는 for문입니다. for문은 1000번 출력, 1~100까지의 덧셈과 같이 주로 몇 번 반복해야 할지 알 때 사용합니다.

기본 문법은 아래와 같습니다.

//  초기화;조건식;증감식
for(int i = 0;i<10;i++){
	// 반복할 문장
    }
    
// 조건식이 참이면 바로 반복문을 그만둔다.    
for(int i = 0;i<10;i++){
	// 반복할 문장 1
		if(조건식){
		break;
		}
  	 // 반복할 문장 2    
	}
    
// 조건식이 참이면 반복할 문장 2를 실행하지 않고 바로 증감식 연산으로 가서 i를 1증가하고
// 다음 반복문을 실행하여 반복할 문장 1이 실행된다.
for(int i = 0;i<10;i++){
	// 반복할 문장 1
		if(조건식){
		continue;
		}
   	 // 반복할 문장 2    
	}

위의 의미를 풀어보면

1. i를 기준으로 반복문을 사용 (초기화)

2. i가 10 이하일 때까지 반복한다. (조건식)

3. 한번 반복 후 i는 1씩 증가한다. (증감식)

[10번 반복한다는 의미입니다.]

 

 

두 번째는 while문입니다. while문은 for문과 반대로 몇 번 반복해야 할지 모를때 주로 사용합니다.

while문의 기본 문법은 아래와 같습니다.

// 조건식이 반복할 문장에서 값이 바뀌어 반복문 제어가 가능할때
while(조건식){
	// 반복할 문장
    }
    
// 조건식 2가 참이 되면 break;를 만나 바로 반복문을 종료시킨다.    
    while(조건식){
	// 반복할 문장 1
    	if(조건식2){
    	break;
    	}
    // 반복할 문장 2
    }
    
// 조건식 2가 참이 되면 continue;를 만나, 반복할 문장 2를 작동 시키지 않고 다시 다음 반복문을 실행하여
// 반복할 문장 1이 실행된다.
    while(조건식){
	// 반복할 문장 1
    	if(조건식2){
    	break;
    	}
    // 반복할 문장 2
    }

위의 의미를 풀어보면 조건식이 참일때 반복, 조건식이 거짓일때 그만한다. 라는 의미로 이해하면 됩니다.

여기서 조건식 자리에서 true라는 상수를 작성하면 반복을 멈출수 없게 되며 이를 무한 반복이라고 합니다.

이럴땐 if문을 사용하여 특정 조건에 break를 사용하여 멈추도록 만들면 됩니다.

 

 

설명에 break, continue라는 내용이 있습니다. 이는 기타제어문이라고 하여 제어문 즉 for문, while문, switch문에서 실행을 제어합니다.

 - break : 즉시 해당 중괄호 영역 하나를 탈출한다.(for문, while문, switch문)

 - continue : 즉시 다음 반복(아래의 코드를 실행하지 않기 위해서 사용. 주로 반복문에서 사용) 

반응형