BOOK

[JAVA] MENTOR JAVA SECTION 4

Minch13r 2025. 1. 5. 17:47

제어문

일반적으로 프로그래밍 포함된 실행문은 순차적으로 수행된다. 하지만 순차적으로 실행한다면, 프로그램이 매우 길어지거나 표현하기 어려운 상황이 발생할 수 있다. 예를 들어, 어떤 변수에 10을 더하는 실행문을 1,000번 수행해야 할 경우, 순차적으로만 실행하면 똑같은 실행문을 1,000번 입력해야 한다. 또한 순차적 실행은 선택 개념이 없어 '비가 오면 우산을 가지고 나가고 비가 오지 않으면 우산을 가져가지 않는다'라는 상황을 구현하지 못한다.

 

이러한 문제를 해결하기 위해 프로그래밍 언어는 제어문을 사용해 실행문을 비 순차적으로 수행할 수 있게 해준다.

 

제어문은 실행문의 수행 순서를 변경하는 것으로 조건문, 반복문, 분기문이 있다. 조건문과 반복문은 실행 흐름을 제어하는 제어식과 수행할 실행문으로 구성되는데, 수행할 실행문이 여러 개 있으면 {}로 묶어야 한다. 중괄호로 묶인 실행문의 조합을 복합문 또는 블록이라고 한다.


조건문

조건식에 따라서 프로그램의 흐름을 제어할 수 있는 문법입니다. 삼항 연산자에서 미리 살펴봤듯이 조건식의 true 또는 false라는 boolean 결과에 따라 어떤 구문을 실행할지 결정한다.

 

종류로는 크게 if문과 swtich 문이 있다. 일반적으로, 고려해야 하는 조건이 적으면 if문을, 조건이 많으면 switch 문을 사용하는 것이 효율적이다. 그렇다고 특정 개수에 따라 반드시 둘 중 하나를 선택해야 하는 것은 아니다.


if문

if 문은 조건문 중에서도 가장 기본이 되는 명령문으로 기본 구조는 다음과 같다

if(조건문){
	코드;
    ...
}

 

가장 기본 형태의 조건문이다. 조건식에는 true(참) 또는 false(거짓) 즉, boolean으로 결과를 확인할 수 있는 모든 식을 넣을 수 있다. 만약 조건식을 만족하면 중괄호{} 안의 코드를 실행한다.


if - else 문

if 문을 사용하면 조건식이 true일 때만 제어할 수 있습니다. 만약, 조건식이 true일 때는 A코드를, 조건식이 false일 때는 B코드를 실행시키고 싶다면 if - else 문을 사용해야 한다. "만약 ~ 라면, A하고 아니면 B 하겠다"를 프로그래밍으로 나타낸 것이다.

if(조건식){
	코드;
    ...
} else {
	코드;
    ...
}

if - else 문은 if 문에서 한 단계 진화하여 조건식이 true 일 때는 물론, false 일 때는 어떤 코드를 실행시킬지 제어할 수 있다. 만약 조건식이 true이면 if 문 안의 수행문을, false이면 else 문 안의 수행문을 실행시키는 방법이다.


if - else if 문

if - else if 문은 한 문장에 여러 개의 조건식을 사용할 수 있는 문법이다. if - else 문이 여러개 사용되는 것이다. if 문 안에 두 개 이상의 조건식과 논리 연산을 사용할 수도 있지만 더욱 코드를 간결하게 하고 가독성을 높이기 위한 방법으로 if - else if 문을 구현한다.

if(조건식1){
	코드; // 조건식1이 true일 때 실행
    ...
} else if(조건식2) {
	코드; // 조건식1은 false이고, 조건식2가 true일 때 실행
    ...
} else {
	코드; // 조건식1,2 모두 false 일 때 실행
}

switch 문

if문과 함꼐 조건문에 속하는 구문이다. 하지만 if문처럼 모든 형태의 조건식이 들어갈 수 있는거는 아니다. swtich 문에 조건으로 사용될 수 있는 연산자는 '==', 즉 두 개의 피연산자의 값이 같을 때만 조건으로 활용할 수 있다. 따라서 하나의 변수 안에 저장되어 있는 값을 다수와 비교해야 할때 주로 사용한다.

switch(변수){
	case 값1 ;  //조건1 : 변수가 값 1과 같을 때
    코드; //조건1 이 만족할 때 실행되는 구문
    ...
    break; // 조건1의 구문을 끝내고 switch 문을 완전히 빠져나감
    
    case 값2 ; // 조건2 : 변수가 값 2와 같을 때
    코드; // 조건2가 만족할 때 실행되는 구문
    ...
    break;
    
    default : // 조건1, 2 모두 만족하지 않을 때
    코드;

 

switch 구문의 괄호 안에 있는 변수가 동호식에서의 기준이 된다. 변수에는 모든 기본 자료형은 물론 String 문자열도 들어갈 수 있다. 프로그램은 이 변수를 각 case의 값과 비교해 변수와 값이 같으면 case 안의 코드를 실행한다.

'BOOK' 카테고리의 다른 글

[JAVA] MENTOR JAVA SECTION 6  (1) 2025.01.07
[JAVA] MENTOR JAVA SECTION 5  (0) 2025.01.06
[JAVA] MENTOR JAVA SECTION 3  (1) 2025.01.04
[JAVA] MENTOR JAVA SECTION 2  (1) 2025.01.03
[JAVA] MENTOR JAVA SECTION 1  (2) 2025.01.02