본문 바로가기

Java

[Java] 조건문 if-else

제어문 (Control Statement)이란?

조건에 따라 문장의 실행 순서를 변경하는 것을 제어문이라고 합니다.

제어문 종류

  1. 조건문 조건에 따라서 여러 개의 실행 경로 가운데 하나를 선택해야 하는 경우 사용되며 if-else와 switch가 있습니다.
  2. 반복문 조건이 유지되는 한 또는 정해진 횟수만큼 처리를 되풀이하는 문장이며 while과 for가 있습니다.

이번에는 조건문인 if-else를 설명하겠습니다.

 

if-else 문의 형식

if-else 문의 형식은 다음과 같습니다:

만약 조건이 참이라면 A를 실행하고, 조건이 참이 아니라면 B를 실행해!

 

처음 보신다면 이해하기 어려우실 수 있습니다. 예를 들자면:

예를 들자면

15000원 이상일 때 배달비 무료

15000원 이상이 아닐 때는 배달비 2000원과 같습니다

 

이것을 코드로 구현하면 다음과 같습니다:

public class IfElsePractice {

	public static void main(String[] args) {
		int price = 22000;
		
        	// 가격이 20000원 이상일 때
		if (price >= 20000) {	// 참일 때 true
			System.out.println("배달비 무료!");
		}
		else { // 참이 아니고 거짓일 때 false
			System.out.println("배달비 2000원 추가");
		}

	}

}

if 문을 사용하기 위해서는 조건이 true 또는 false로 평가될 수 있어야 합니다.

조건은 논리 연산자를 사용하거나, true 또는 false 값을 사용할 수 있습니다.

 

값이 true 또는 false인 경우

public class IfElsePractice {

	public static void main(String[] args) {
		boolean isWorking = true;
		
		if (isWorking) {	// 변수의 값이 true이기 때문에 실행이 가능합니다
			System.out.println("일하는 중입니다");
		}
		else {
			System.out.println("일하지 않고 있습니다");
		}

	}

}

 

혼자서 해볼까요?

짝수인지 홀수인지 확인하는 코드를 만들어보세요.

힌트는 % 연산자를 사용하는 것입니다.

더보기
더보기
public class IfElsePractice {

	public static void main(String[] args) {
		int num = 10;
		
        // 나머지 연산자
        // 10 % 2 = 0이기 때문에 true
		if (num % 2 == 0) {
			System.out.println("짝수 입니다");
		}
		else {
			System.out.println("홀수 입니다");
		}
	}

}

 

다중 if-else 문

if-else 문은 여러 개의 조건을 처리할 때도 사용될 수 있습니다. 대표적인 예시로 성적 처리가 있습니다.

public class IfElsePractice {

	public static void main(String[] args) {
		int score = 85;
		
		if (score >= 90) {
			System.out.println("A입니다");
		}
		else if (score >= 80) {
			System.out.println("B입니다");
		}
		else if (score >= 70) {
			System.out.println("C입니다");
		}
		else if (score >= 60) {
			System.out.println("D입니다");
		}
		else {
			System.out.println("F입니다");
		}
	}

}

주의사항

다중 if-else 문을 사용할 때 주의해야 할 점은

조건이 true가 되면 나머지 else if와 else는 실행되지 않는다는 것입니다.

public class IfElsePractice {

	public static void main(String[] args) {
		int score = 85;
		// 여기가 true이기 때문에 D가 출력이 된다
		if (score >= 60) {
			System.out.println("D입니다");
		}
		else if (score >= 70) {
			System.out.println("C입니다");
		}
		else if (score >= 80) {
			System.out.println("B입니다");
		}
		else if (score >= 90) {
			System.out.println("A입니다");
		}
		else {
			System.out.println("F입니다");
		}
	}

}

 

현재 점수는 85점입니다. 첫 번째 조건인 60점 이상이기 때문에 조건이 true가 되어 첫 번째 문장이 실행됩니다.

이처럼 조건식은 순서에 맞게 잘 적어야 합니다.

 

 

제어문(조건문, 반복문)은 하나의 문장일 때 중괄호를 생략할 수 있습니다

public class IfElsePractice {

	public static void main(String[] args) {
		int price = 22000;
		
        	
		if (price >= 20000)
			System.out.println("배달비 무료!");
		
		else 
			System.out.println("배달비 2000원 추가");
			System.out.println("2번째 줄부터는 무조건 실행");

	}

}

중괄호를 생략하면 한 문장만 포함되며, 그 이후 문장은 조건에 상관없이 실행됩니다.

따라서 코드의 들여쓰기를 정확히 하는 것이 중요합니다.

 

public class IfElsePractice {

	public static void main(String[] args) {
		int price = 22000;
		
        	
		if (price >= 20000)
			System.out.println("배달비 무료!");
		
		else 
			System.out.println("배달비 2000원 추가");
		System.out.println("2번째 줄부터는 무조건 실행");

	}

}

 

들여쓰기는 선택이 아닌 필수입니다

혼자 프로그래밍을 할 때는 괜찮지만, 협업을 해야 하는 경우 들여쓰기가 제대로 되어 있지 않으면 가독성이 매우 떨어집니다. 꼭 들여쓰기를 습관이 될 때까지 연습하면 좋겠습니다.
들여쓰기가 이상한 코드 예시

public class IfElsePractice {
		
		public static void main(String[] args) {
int price = 22000;

	
			if (price >= 20000)
				System.out.println("배달비 무료!");
			
			else 
	System.out.println("배달비 2000원 추가");
		System.out.println("2번째 줄부터는 무조건 실행");

}

}

한 눈에 봐도 코드가 읽기 매우 어렵습니다. 꼭 들여쓰기 연습을 하세요.

 

 

 

삼항 연산자

if-else 문을 이해했다면 삼항 연산자를 사용하는 것을 추천합니다. 이해하지 못했다면 조금 더 숙달 후에 읽어주세요.

간단한 if-else문을 삼항 연산자로 표현할 수 있습니다:

public class IfElsePractice {

	public static void main(String[] args) {
		int price = 20000;
		
		System.out.println(price >= 20000 ? "배달비 무료" : "배달비 2000원");
	}

}

 

 

price >= 20000 ? "배달비 무료" : "배달비 2000원"

삼항 연산자의 구문:

 

조건문 ? true일 때 값 : false 일 때 값

위 코드에서 price >= 20000이 true라면 "배달비 무료"가 출력되고, false라면 "배달비 2000원"이 출력됩니다.

이해하기 어려우시다면 아직은 몰라도 괜찮습니다. 우선 if-else문을 완벽하게 이해하는 것이 중요합니다.

'Java' 카테고리의 다른 글

[Java] 배열  (0) 2024.07.09
[Java] 반복문 while 문  (0) 2024.07.05
[Java] 반복문 for문  (0) 2024.07.04
[Java] switch 문  (0) 2024.07.04
[Java] 변수 선언  (0) 2024.06.24