Categories: Java

Java 자바 조건문 (if, if else, else if, switch) 정리

조건문이란?

자바 프로그래밍에서 조건문은 프로그램의 흐름을 제어하는 데 중요한 역할을 합니다. 조건문은 특정 조건이 참일 때 또는 거짓일 때 다른 코드 블록을 실행하도록 하는데 사용됩니다.

조건문의 종류

if 문

주어진 조건이 참이면 특정 블록을 실행합니다. 참일 경우 해당 블록을 실행하고, 조건이 거짓인 경우 아무 동작도 하지 않습니다. 조건식이 참이 되면 해당 블록이 실행되고, 거짓이면 실행되지 않습니다.

Java
if (조건) {
    // 조건이 참일 때 실행되는 블록
}
Java

if else 문

조건이 참일 때와 거짓일 때 각각 다른 블록을 실행합니다. if 블록이 참이면 해당 블록을 실행하고, 그렇지 않은 경우 else 블록이 실행됩니다. 각 블록은 상호 배타적이며, 둘 중 하나만 실행됩니다.

Java
if (조건) {
    // 조건이 참일 때 실행되는 블록
} else {
    // 조건이 거짓일 때 실행되는 블록
}
Java

else if 문

여러 조건을 순차적으로 검사하며, 첫 번째로 참이 되는 조건의 블록을 실행합니다. if 블록이 참이면 해당 블록을 실행하고, 이후의 else if 블록은 검사하지 않습니다. else 블록은 모든 이전 조건이 거짓일 때 실행됩니다.

Java
if (조건1) {
    // 조건1이 참일 때 실행되는 블록
} else if (조건2) {
    // 조건2가 참일 때 실행되는 블록
} else {
    // 모든 조건이 거짓일 때 실행되는 블록
}
Java

switch 문

변수의 값에 따라 다른 동작을 수행하는 조건문입니다. switch 블록 내에서 각 case는 특정 값에 대한 동작을 정의하고, 해당하는 case로 분기합니다. break 키워드를 사용하여 다른 case로 넘어가는 것을 방지합니다. default 는 모든 case에 해당하지 않을 때 실행되는 블록을 나타냅니다.

Java
switch (변수) {
    case 값1:
        // 값1에 해당하는 경우 실행되는 블록
        break;
    case 값2:
        // 값2에 해당하는 경우 실행되는 블록
        break;
    default:
        // 모든 case에 해당하지 않는 경우 실행되는 블록
}
Java

중첩 조건문

조건문 안에 또 다른 조건문을 사용하여 복잡한 조건 로직을 표현합니다. 외부 조건문의 조건이 참일 때에만 내부 조건문이 검사되고, 내부 조건문의 결과에 따라 실행됩니다. 중첩 조건문을 사용함으로써 다양하고 복잡한 조건을 다룰 수 있습니다.

Java
if (외부조건) {
    // 외부조건이 참일 때 실행되는 블록
    if (내부조건) {
        // 내부조건이 참일 때 실행되는 블록
    } else {
        // 내부조건이 거짓일 때 실행되는 블록
    }
} else {
    // 외부조건이 거짓일 때 실행되는 블록
}
Java

조건문의 예제

if 문

가장 기본적인 형태의 조건문으로, 주어진 조건이 참이면 특정 블록을 실행합니다.

Java
int number = 10;

if (number > 0) {
    System.out.println("양수입니다.");
}
Java
  • if문은 조건이 참일 경우에만 해당 블록을 실행하고, 참이 아니면 아무 동작도 하지 않습니다.

if else 문

if문의 확장으로, 조건이 참일 때와 거짓일 때 각각 다른 블록을 실행합니다.

Java
int number = -5;

if (number > 0) {
    System.out.println("양수입니다.");
} else {
    System.out.println("음수이거나 0입니다.");
}
Java
  • else 블록은 조건이 거짓일 때 실행되며, 두 가지 경우에 대한 대처가 가능해집니다.

else if 문

여러 조건을 순차적으로 검사하며, 첫 번째로 참이 되는 조건의 블록을 실행합니다.

Java
int score = 75;

if (score >= 90) {
    System.out.println("A 등급");
} else if (score >= 80) {
    System.out.println("B 등급");
} else if (score >= 70) {
    System.out.println("C 등급");
} else {
    System.out.println("D 등급");
}
Java
  • else if 블록은 이전 조건이 거짓일 때 실행되며, 다양한 조건에 따라 다른 동작을 설정할 수 있습니다.

switch 문

여러 가지 경우에 따라 다른 동작을 수행할 때 사용하는 switch문은 다음과 같이 작성됩니다.

Java
char grade = 'B';

switch (grade) {
    case 'A':
        System.out.println("우수합니다.");
        break;
    case 'B':
        System.out.println("보통입니다.");
        break;
    case 'C':
        System.out.println("미흡합니다.");
        break;
    default:
        System.out.println("평가할 수 없습니다.");
}
Java
  • switch문은 변수의 값에 따라 특정 블록을 실행하며, 각 case마다 break 키워드를 사용하여 다른 case로 넘어가는 것을 방지합니다. default는 모든 case에 해당하지 않을 때 실행되는 블록을 나타냅니다.

중첩 조건문

조건문 안에 다시 조건문을 사용하여 복잡한 조건 로직을 표현할 수 있습니다.

Java
int x = 5;
int y = 10;

if (x > 0) {
    if (y > 0) {
        System.out.println("x와 y는 모두 양수입니다.");
    } else {
        System.out.println("x는 양수이지만 y는 음수 또는 0입니다.");
    }
} else {
    System.out.println("x는 음수 또는 0입니다.");
}
Java
  • 중첩된 조건문을 사용하면 더 다양한 조건을 다룰 수 있습니다.

결론

조건문은 프로그램의 흐름을 제어하고, 특정 조건에 따라 다른 동작을 수행할 수 있도록 하는 중요한 프로그래밍 구조입니다. if, if else, else if, switch 등의 조건문을 각각의 특징과 용도에 맞게 적절히 사용하는 것이 중요합니다.

suover

Recent Posts

Network 인터넷 네트워크란? 개념과 구조 완벽 정리

인터넷 네트워크란? "인터넷(Internet)"이라는 단어는 "인터네트워크(Internetwork)"의 줄임말입니다. 즉, 여러 개의 네트워크가 상호 연결되어 전 세계적으로 하나의…

3주 ago

Spring 스프링 빈 스코프(Bean Scope) 개념 정리

스프링 빈(Spring Bean)과 IoC 컨테이너 스프링 프레임워크의 핵심 철학은 IoC(Inversion of Control) 컨테이너를 통해 객체(빈,…

4주 ago

Spring 스프링 빈 생명주기(Bean Lifecycle)와 콜백(Callback)

스프링 빈이란? 스프링 프레임워크에서 "스프링 빈(Bean)"이란, IoC(Inversion of Control) 컨테이너가 직접 관리하는 객체를 말합니다. @Component,…

1개월 ago

Spring 스프링 의존성 주입(Dependency Injection)이란?

의존성 주입(Dependency Injection)이란? 프로그램을 개발하다 보면, 여러 클래스나 객체들은 서로 필요한 기능을 사용하기 위해 관계를…

1개월 ago

Spring 스프링 컴포넌트 스캔(Component Scan)이란?

컴포넌트 스캔이란? 컴포넌트 스캔(Component Scan)은 스프링 프레임워크가 특정 패키지를 탐색하면서, 스캔 대상에 해당하는 클래스를 찾아…

2개월 ago

Spring 스프링 빈(Bean)이란?

스프링 빈이란? 스프링 빈(Spring Bean)은 스프링 IoC(Inversion of Control) 컨테이너가 관리하는 자바 객체를 의미합니다. 간단히…

2개월 ago