[Java] 조건문 (if문, if-else, switch-case)

2024. 4. 16. 15:18· Language/Java
목차
  1. 조건문이란?
  2. if문 사용법
  3. if-else문 사용법
  4. switch문 사용법
  5. Java 14 새로운 switch문
  6. OUTRO

 


조건문이란?

💡 주어진 조건의 참, 거짓에 따라서 해당 조건에 맞는 명령을 수행하게 해주는 명령문이다.
이처럼 프로그램의 흐름 (flow)을 바꾸는 역할을 하는 문장이다.

 


if문 사용법

if (condition) {
    // 조건이 참일 때 실행되는 코드
}

➡️ 코드 블록 : {} (중괄호) 사이에 있는 코드

 

 

⬇️ 하단 예제를 통해 간단하게 알아보려한다.

public class If1 {

    public static void main(String[] args) {
        int age = 20; // 사용자 나이
        if (age >= 18) {
            System.out.println("성인입니다.");
        }
        if (age < 18) {
            System.out.println("미성년자입니다.");
        }
    }
}

 

실행 결과

성인입니다.

➡️ age = 20 값을 주면 처음 if문에서 참이 된다.

 

 

if (age >= 18) 분석

//age = 20
if (age >= 18) {"성인입니다"}
if (20 >= 18) {"성인입니다"} //age의 값은 20이다.
if (true) {"성인입니다"} //조건이 참으로 판명된다.
{"성인입니다"} //if문에 있는 코드 블록이 실행된다.

➡️ 조건이 참이므로, "성인입니다"가 화면에 출력된다.

 

이후에 다음 코드가 실행된다.

 

if (age < 18) 분석

if (age < 18) {"미성년자입니다"}
if (20 < 18) {"미성년자입니다"} //age의 값은 20이다.
if (false) {"미성년자입니다"} //조건이 거짓으로 판명된다.
//해당 코드 블록은 실행되지 않는다.

➡️ 조건이 거짓이므로, if문 블록을 실행하지않고, 탈출한다. 따라서 "미성년자입니다"는 출력되지 않는다.

        int age = 20의 값을 15로 변경하면 "미성년자입니다."가 출력되는 것을 확인할 수 있다.


if-else문 사용법

if (condition) {
    // 조건이 참일 때 실행되는 코드
} else {
    // 만족하는 조건이 없을 때 실행되는 코드
}

➡️ if문에서 만족하는 조건이 없을 때 실행하는 코드를 제공한다.

 

else 문을 사용하면 앞서 진행했던 프로그램을 다음과 같이 더 간략하게 바꿀 수도 있다.

  • 기존 : 만약 18살 이상이면 "성인입니다"를 출력하고, 만약 18살 미만이라면 "미성년자입니다."를 출력해야 한다.
  • 변경 : 만약 18살 이상이면 "성인입니다"를 출력하고, 그렇지 않으면 "미성년자입니다."를 출력해야 한다.
public class If2 {
    
    public static void main(String[] args) {
        int age = 20; // 사용자의 나이
        if (age >= 18) {
            System.out.println("성인입니다."); //참일 때 실행
        } else {
            System.out.println("미성년자입니다.");//만족하는 조건이 없을 때 실행
        }
    }
}

 

실행 결과

성인입니다.

➡️ int age = 20의 값을 15로 변경하면 "미성년자입니다."가 출력되는 것을 확인할 수 있다.


switch문 사용법

💡 if문을 조금 더 편리하게 사용할 수 있는 기능이다.
참고로 if문은 비교 연산자를 사용할 수 있지만, switch문은 단순히 값이 같은지만 비교 할 수 있다.

 

switch문은 조건식에 해당하는 특정 값으로 실행할 코드를 선택한다.

switch (조건식){
    case value1:
        // 조건식의 결과 값이 value1일 때 실행되는 코드
        break;
    case value2:
        // 조건식의 결과 값이 value2일 때 실행되는 코드
        break;
    default:
        // 조건식의 결과 값이 위의 어떤 값에도 해당하지 않을 때 실행되는 코드
}

➡️ 조건식의 결과 값이 어떤 case의 값과 일치하면 해당 case의 코드를 실행한다.

 

➡️ break문은 현재 실행 중인 코드를 끝내고, switch문을 빠져나가게 하는 역할을 한다.

 

➡️ 만약 break문이 없으면, 일치하는 case 이후의 모든 case 코드들이 순서대로 실행된다.

 

➡️ default는 조건식의 결과값이 모든 case의 값과 일치하지 않을 때 실행된다. if-else와 같다.

 

➡️ if, if-else, else 구조와 동일하다

 

⬇️ 하단 예제를 통해 알아보려 한다.

public class Switch1 {
    
    public static void main(String[] args) {
        //grade 1:1000, 2:2000, 3:3000, 나머지: 500
        int grade = 2;
        int coupon;
        if (grade == 1) {
            coupon = 1000;
        } else if (grade == 2) {
            coupon = 2000;
        } else if (grade == 3) {
            coupon = 3000;
        } else {
            coupon = 500;
        }
        System.out.println("발급받은 쿠폰 " + coupon);
    }
}

➡️ 회원 등급에 따라 다른 쿠폰을 방급하는 프로그램을 작성해야 한다.

 

➡️ 이 프로그램은 int grade라는 변수를 사용하며, 회원 등급에 따라 다음과 같은 쿠폰을 발급해야 한다.

  • 1등급 : 쿠폰 1000
  • 2등급 : 쿠폰 2000
  • 3등급 쿠폰 : 3000
  • 그 외 등급 : 쿠폰 500

실행 결과

발급받은 쿠폰 2000

Java 14 새로운 switch문

💡 switch문은 if문 보다 조금 덜 복잡한 것 같지만, 그래도 코드가 깔끔하게 나오지는 않는다.
이런 문제를 해결하고자 Java 14부터는 새로운 switch문이 정식 도입되었다.

 

기존 코드를 새로운 switch문으로 개발하면 다음과 같다.

public class Switch3 {
    
    public static void main(String[] args) {
        //grade 1:1000, 2:2000, 3:3000, 나머지: 500
        int grade = 2;
        int coupon = switch (grade) {
            case 1 -> 1000;
            case 2 -> 2000;
            case 3 -> 3000;
            default -> 500;
        };
        System.out.println("발급받은 쿠폰 " + coupon);
    }
}

➡️ -> 를 사용한다.

 

➡️ 선택된 데이터를 반환 할 수 있다.

 

새로운 switch문은 더 많은 내용을 담고있다. 자세한 내용은 추후 포스팅을 통해 다룰 예정이다.


OUTRO

오늘은 조건문에 대해서 알아봤습니다.

 

추후 반복문과, 향상된 switch문에 대해서 다룰 예정입니다.

 

그러면 다음 포스팅에서 뵙겠습니다.

 

위 포스팅 글은 김영한님의 자바 입문 - 코드로 시작하는 자바 첫걸음을 참고했습니다.

 

[지금 무료] 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 | 김영한 - 인프런

김영한 | 프로그래밍에 처음 입문하는 분들을 위한 자바 강의입니다. 코드를 따라하면서 손쉽게 자바를 배울 수 있습니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 자바 입문[사

www.inflearn.com

 

 

저작자표시 비영리 변경금지 (새창열림)

'Language > Java' 카테고리의 다른 글

[Java] String (문자열) 이란? + (특징, 클래스 구조, 메서드)  (0) 2024.04.12
[Java] 불변 객체 (Immutable Object)란?  (0) 2024.04.08
[Java] 기본형과 참조형(Primitive Type & Reference Type)  (0) 2024.04.06
[Java] 클래스, 객체, 메서드, 생성자  (0) 2024.03.30
[Java] 연산자 (Operator)  (0) 2024.03.29
  1. 조건문이란?
  2. if문 사용법
  3. if-else문 사용법
  4. switch문 사용법
  5. Java 14 새로운 switch문
  6. OUTRO
'Language/Java' 카테고리의 다른 글
  • [Java] String (문자열) 이란? + (특징, 클래스 구조, 메서드)
  • [Java] 불변 객체 (Immutable Object)란?
  • [Java] 기본형과 참조형(Primitive Type & Reference Type)
  • [Java] 클래스, 객체, 메서드, 생성자
苦盡甘來
苦盡甘來
이미지 참조 강아지 아이콘 제작자: justicon - Flaticon
苦盡甘來
소스 굽는 현이
苦盡甘來
전체
오늘
어제
  • 전체 글 (15)
    • 회고록 (1)
    • Project (0)
      • Team (0)
      • Individual (0)
    • Language (8)
      • Java (8)
      • JavaScript (0)
    • Back-End (3)
      • Spring (3)
    • Front-End (1)
      • HTML (1)
      • jQuery(ajax) (0)
    • DataBase (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 불변 객체
  • bean
  • 사이드 이펙트
  • spring boot
  • 메서드
  • 클래스
  • jvm
  • 기본형
  • 객체
  • IOC
  • Thymeleaf
  • Database
  • JRE
  • 의존성주입
  • 회고록
  • spring
  • 참조형
  • JDK
  • 컨테이너
  • 생성자

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
苦盡甘來
[Java] 조건문 (if문, if-else, switch-case)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.