[자바/기초] 조건문

조건문

- 조건문은 크게 if문과 switch 문으로 나눌 수 있다.

- 조건식의 결과에 따라서 실행문을 선택하여 실행하는 기능을 말한다.

- 조건문의 값이 참인지 거짓인지를 판단할 땐 비교 연산자나 논리 연산자를 사용한다.

if 문

- 조건식의 결과가 true이면 중괄호 블록({}) 내의 코드를 실행하고, false이면 실행하지 않는다.

[if 문 실행 흐름도]
[if 문 실행 흐름도]

기본 구조

if (조건식) {
    // 실행문1;
}
// 실행문2;

- 조건식이 true이면 실행문1 실행 후, 실행문2를 실행한다.

- 조건식이 false이면 실행문2만 실행한다.

if ~ else 문

- 조건식이 false일 때도 따로 실행문을 실행하고 싶을 때 사용한다.

[if ~ else 문 실행 흐름도]
[if ~ else 문 실행 흐름도]

기본 구조

if (조건식) {
    // 실행문1;
} else {
    // 실행문2;
}

- 조건식이 true이면 실행문1이 포함된 블록만 실행한다.

- 조건식이 false이면 실행문2가 포함된 블록만 실행한다.

if ~ else if ~ else 문

  • 하나의 조건이 아닌 다수의 조건 중 하나를 선택하여 실행하고 싶을 때 사용한다.

[if ~ else if ~ else 문 실행 흐름도]
[if ~ else if ~ else 문 실행 흐름도]

기본 구조

if (조건식1) {
    // 실행문1;
} else if (조건식2) {
    // 실행문2;
} else {
    // 실행문3;
}

- 조건식1이 true이면 실행문1이 포함된 블록만 실행하고 이후 실행문을 수행한다.

- 조건식1이 false이면, else if문의 조건식2가 true이면 실행문2가 포함된 블록만 실행하고 이후 실행문을 수행한다.

- 조건식1과 조건식2 모두 false이면 else 문의 실행문3을 실행하고 이후 실행문을 수행한다.

- else문의 경우, 상황에 따라 생략할 수 있다.

switch 문

- if문은 조건이 많아지면 else if문으로 반복하여 분기해야하므로 코드가 복잡해진다.
  이를 대체하기 위해 switch문을 사용하면 가독성이 좋은 코드를 작성할 수 있다.

[switch 문 실행 흐름도]
[switch 문 실행 흐름도]

기본 구조

switch(값) {	// 값은 정수와 문자, 문자열만 가능하다.
	case 값1:
    	// 실행문1;
        break;
	case 값2:
    	// 실행문2
        break;
    defalut:
    	// 실행문3;
        break;	// 생략해도 무방하다.
}

- switch문으로 값을 입력한 후, 첫 번째 case문의 값1과 비교한다.

- 값이 동일하면 실행문1을 수행한 후, break 문을 만나면 switch 문을 종료한다.

- 값1과 값이 다르면 다음의 case문의 값과 비교하여 동일하면 실행문2를 수행하고 break 문을 만나면 switch 문을 종료한다.

- 모든 case문의 값과 같지 않다면 실행문3을 수행하고 switch 문을 종료한다.

- default문은 상황에 따라 생략이 가능하며, break문은 각각의 case문을 구분하는 역할을 수행하며 생략되는 경우 다음의 case문의 실행문도 수행하게 된다.

중첩 조건문

- 조건문 블록({ }) 안에 다른 조건문이 있는 구조를 말한다..

기본 구조

if (조건식1) {
	// 실행문
    if (조건식2) {
        // 실행문
    }
    // 실행문
}

- 조건문인 if문과 switch 문을 중첩하여 사용할 수 있다.

- 실무에서는 if문과 switch문을 중첩하여 사용하는 케이스보단 중첩 if 문을 많이 사용하는 편이다.


⊙ 참고 문헌

  1. 이병승, 「초보 개발자를 위한 자바:한 권으로 배우는 자바 마스터 가이드 북」, 영진닷컴, 2024, p157 - 171
  2. 마종현, 「제로베이스 백엔드 취업 파트타임 스쿨 5기:Part 01. Java 기초-Chapter 01. Java 프로그래밍-04.조건문」, 제로베이스, 2024, https://zero-base.co.kr/