[Java] if문 1 - if, else

코드 속의 "진돌"·2023년 12월 27일
0
post-thumbnail

✅ 조건문 시작


지금까지 살펴본 프로그램은 단순히 위에서 아래로 순서대로 한 줄씩 실행되었다.

특정 조건에 따라서 다른 코드를 실행하려면 어떻게 해야할까? 예를 들어서 만약 18살 이상이면 “성인입니다”를 출력하고, 만약 18살 미만이라면 “미성년자입니다”를 출력해야 한다.

아마도 다음과 같이 코딩을 해야할 것 같다.

만약 (나이 >= 18)면 “성인입니다”
만약 (나이 < 18)면 “미성년자입니다”

영어로 하면 다음과 같다.

if (age >= 18) “성인입니다”
if (age < 18) “미성년자입니다”

이렇게 특정 조건에 따라서 다른 코드를 실행하는 것을 조건문이라 한다.

조건문에는 if문, switch문이 있다. 둘 다 특정 조건에 따라서 다른 코드를 실행하는 것이라 생각하면 된다.

✅ if문


if문은 특정 조건이 참인지 확인하고, 그 조건이 참(true)일 경우 특정 코드 블록을 실행한다.

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

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

✏️ If1

package cond;

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로 변경하면 미성년자입니다가 출력되는 것을 확인할 수 있다.

✅ else 문


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

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

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

  • 기존 : 만약 18살 이상이면 “성인입니다”를 출력하고, 만약 18살 미만이라면 “미성년자입니다”를 출력해야 한다.
  • 변경 : 만약 18살 이상이면 “성인입니다”를 출력하고, 그렇지 않으면 “미성년자입니다”를 출력해야 한다.

쉽게 이야기해서 18살이 넘으면 성인이고, 그렇지 않으면 모두 미성년자이다.

아마도 다음과 같이 코딩을 해야할 것 같다.

만약 (나이 >= 18)이면 “성인입니다”
그렇지 않으면 “미성년자입니다”

영어로 하면 다음과 같다.

if (age >= 18) “성인입니다”
else “미성년자입니다”

✏️ If2

package cond;

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로 변경하면 미성년자입니다가 출력되는 것을 확인할 수 있다.

profile
매일 성장하는 주니어 개발자의 기록📝

0개의 댓글