본문 바로가기

Java

[Java] 조건문 if-else

728x90

제어문 (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문을 완벽하게 이해하는 것이 중요합니다.

728x90

'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