자바[JAVA] – 5. 조건문(Conditional statement)

조건문?

조건문if, else if, else 그리고 swtich 4가지가 있다.
내가 원하는 값에 도달하였을 때 실행할 코드를 작성할 수 있다.
예를 들어 ‘체력이 40이하면 포션을 사용’ 등의 조건을 정할 수 있다.

● if문

조건문 사용

if의 뜻처럼 ‘만약’ 이라는 의미를 가지고 있는 명령어이다.
조건식이 참이면 실행 코드를 실행하고, 아니면 실행시키지 않고 넘어간다

Java
if(10 > 2){  // 10이 2보다 클 경우 실행하라
	System.out.println("10은 2보다 큽니다.");  // 참일 경우 실행할 코드
}

위처럼 사용할 수 있다.
실행하고 싶은 코드는 {} 안에 넣어서 사용할 수 있다.

만약 실행할 코드가 한 줄인 경우 {} 없이 사용할 수 있다.

Java
if(10 > 2)
	System.out.println("10은 2보다 큽니다.");  // 참일 경우 실행할 코드

● else if문

else if 사용 법

else if의 경우 뜻처럼 ‘다른’이라는 의미를 가지고 있는 명령어 이다.
따라서 if문 밑에 쓸 수 있다.

Java
int a = 2, b = 5;

if(a > b)  // a가 b보다 클 경우 실행
  System.out.println("a는 b보다 큽니다.");
else if(a < b)  // a가 b보다 작을 경우 실행
	System.out.println("a는 b보다 작습니다.");

위처럼 else if를 사용할 수 있습니다.

여기서 if를 두 번 사용해도 되겠다고 생각할 수 있다.
물론 위 예시에서는 가능하지만 효율적이지 않다.
만약 성적을 받아 점수를 매긴다고 가정하면 아래처럼 해야 한다.

Java
int score;

if(score > 90)
	System.out.println("A학점입니다.");
if(score <= 90 && score > 80)  // socre <= 90을 추가해야 함
	System.out.println("B학점입니다.");
...

위처럼 범위를 지정해 줘야 한다.
만약 범위를 지정하지 않으면 100점일 경우

“A 학점입니다.
B 학점입니다.
…”

전부 출력 되기 때문이다.

그래서 else if를 사용하여 아래처럼 코딩할 수 있다.

Java
int score;

if(score > 90)
	System.out.println("A학점입니다.");
else if(score > 80)  // else if에 socore <= 90 이 포함 되어 있음
	System.out.println("B학점입니다.");
...

● else문

else 사용 법

else문은 조건식이 없는 명령어로 나머지 전부를 의미한다.

Java
int a = 2, b = 5;

if(a > b)  // a가 b보다 클 경우 실행
	System.out.println("a는 b보다 큽니다.");
else if(a < b)  // a가 b보다 작을 경우 실행
	System.out.println("a는 b보다 작습니다.");
else  // a > b && a < b 를 제외한 나머지 
	System.out.println("a와 b는 같습니다.");

위처럼 if 와 else if 그리고 else를 사용하여 코드를 짤 수 있다.

● switch문

switch문은 이름과 같이 case에 적합하면 마치 스위치를 킨 것처럼 실행하는 명령어이다.

switch 사용 법
Java
int a = 2;

switch (a) {
  case 1:
    System.out.println("1입니다.");  // a == 1일 경우 실행
    break;  // 스위치문을 탈출하는 명령어
  case 2:
    System.out.println("2입니다.");
    break;
  default:
    System.out.println("잘못 입력했습니다");
    break;
}

=> 2입니다.

위처럼 사용할 수 있다.
여기서 case 1: 에서 1이 조건이고
a == 1 일 경우 실행한다.
즉 참 거짓을 판별한다.

따라서 여기에는 char 과 String을 사용할 수 있다.
또한 위처럼 사용 가능하다.

여기서 주의할 점은 break를 넣어줘야 한다는 것이다.
break란 제어문(조건문, 반복문)을 탈출하게 하는 명령어이다.
만약 break를 넣지 않았을 경우 조건에 맞지 않으나 전부 출력될 수 있다.

Leave a Comment