[JAVA] 제어문 (선택문, 반복문)

chaeyeong·2025년 2월 2일

자바 이론

목록 보기
5/9

💡 제어문이란?

Java interpreter는 위에서 아래로, 오른쪽에서 왼쪽으로 프로그램을 읽는다.
이러한 프로그램의 흐름을 변경할 수 있는 것이 바로 제어문이다.

➡️ 제어 구조는 순차처리, 선택처리, 반복처리 세 가지로 구성되어있다.

  • 순차처리 : 위에서 아래로 처리한다.

  • 선택처리

    • 조건분기 : if , if-else , switch
    • 무조건분기 : goto (자바에서는 사용 불가능한 예약어)
  • 반복처리(Loop) : for , while , do-while

📍 선택문

(1) if-else문

if-else문은 가장 기본적인 제어문 중에 하나로, 지정한 조건이 만족할 시에 지정한 블록 안에 있는 코드가 실행된다.

if (조건식) { // 조건이 참인 경우
	실행문1;
} else { // 조건이 참이 아닌 경우
	실행문2;
}

int a = 0;

if (a == 0) { // 해당 조건을 만족하는 경우
	System.out.println("a는 0이다.");
} else if (a == 1) { // 해당 조건을 만족하는 경우
	System.out.println("a는 1이다.")
} else { // 조건들을 아무 것도 만족하지 않는 경우
	System.out.println("a는 0도 아니고 1도 아니다.")
}

(2) switch문

switch문은 switch에 선언된 변수가 case의 값을 만족시킬 때 해당 부분의 실행문을 실행시킨 뒤, break를 통해 빠져나가는 구문이다.

switch (변수) {
	case1 : 
    		실행문;
        	break;
    	case2 :
    		실행문;
        	break;
    	default : // 어떠한 값에도 해당하지 않는 경우
    		실행문;
        	break;
}

int a = 0;
switch(a) {
	case 0 : 
    	System.out.println("a는 0이다."); // 실행문
        break;
    case 1 :
    	System.out.println("a는 1이다."); // 실행문
        break;
    default : // 어떠한 값에도 해당하지 않는 경우
    	System.out.println("a는 0도 아니고 1도 아니다."); // 실행문
        break;
}
  • case값은 리터럴 또는 상수여야하며, 표현식 유형(값을 반환하는 유형)이어야 한다.

  • 중복 case를 생성하면 컴파일 타임 오류가 발생하기 때문에 각 case는 고유해야 한다.

  • case마다 선택적인 break문이 있는데, switch문 내부에서 명령문을 종료하고 switch 표현식 다음 컨트롤을 점프하는데 사용된다.

  • break문을 사용하지 않으면 break문에 도달할 때까지 다음 case로 실행이 계속된다.

  • switch문 case에 해당하는 경우가 없으면 default가 실행된다. 기본 case에는 break문이 꼭 필요하지는 않다.

🔁 반복문

반복문은 프로그램 동작 중 특정 문장을 반복 처리해서 실행되는 제어문이다.


(1) for문

for문에서 초기식은 맨 처음 한 번 실행 후에 조건식으로 이동한다.
조건식을 만족하면 블록 내 문장들을 처리한 후에 증감식으로 이동한다.

for (초기식; 조건식; 증감식;) {
	// 반복 실행될 코드 
}

for (int i = 1; i <= 5; i++) {
	System.out.print(a + ", "); // 1, 2, 3, 4, 5
}

(2) while문

조건식이 true일 경우 블록 내의 코드가 실행되고, false일 경우 빠져나온다.

while (조건식) {
	// 반복 실행될 코드
}

int a = 0;

while (a < 5) { //a의 값이 5보다 작을 때까지 반복
	a++;
    System.out.print(a + " "); // 1 2 3 4 5
}

(3) do-while문

do-while문은 적어도 한 번 실행된다. 조건식이 true이면 블록 내의 문장이 실행되고, false일 경우 빠져나온다.

do {
	//반복 실행될 코드
} while (조건식);

int a = 0;

do {
	a++;
    System.out.print(a + " "); // 1 2 3 4 5 
} while (a < 5)

(4) 무한 반복문

  • while(true) { }

  • do { } while(true);

  • for(; ;) { }

profile
그래도 해야지 어떡해

0개의 댓글