if문

if문의 유형

if (조건식) {
    수행문;
    수행문;
    수행문;
} // 블록 내의 수행문은 조건식의 연산 결과가 true일 때만 실행된다.

if (조건식) {
  수행문; // 조건식이 true일 때 실행
} else {
  수행문; // 조건식이 false일 때 실행
}

예시1

int score = 55;
		
if (score >= 60) {
  System.out.println("합격입니다.");
} 

예시2

/* 구매 금액에 따른 적립포인트 계산하기
* 100만원 이상 구매시 구매금액의 5%를 포인트로 적립한다.
* 50만원 이상 구매시 구매금액의 2%를 포인트로 적립한다.
* 30만원 이상 구매시 구매금액의 1%를 포인트로 적립한다.
* 출력 예) 적립 포인트: 100
*/

int orderPrice = 800_000;
int point = 0;
		
if (orderPrice >= 1_000_000) {
	point = (int)(orderPrice*0.05);
} else if (orderPrice >= 500_000) {
	point = (int)(orderPrice*0.02);
} else if (orderPrice >= 300_000) {
	point = (int)(orderPrice*0.01);
}
System.out.println("적립포인트: " +point);

예시3

// 국어, 영어, 수학 점수를 입력받아서 총점과 평균을 계산해 출력
// 평균이 60점 이상인 경우 "합격입니다"를 출력, 그 이하는 불합격
/* 출력예시
* 국어점수: 100
* 영어점수: 80
* 수학점수: 90
* 총점: 290
* 평균: 90
* 합격여부: 합격입니다.
*  
*/
     
int korScore = 100, engScore = 80, mathScore = 90;
int totalScore = korScore + engScore + mathScore;
int average = totalScore / 3;
		
System.out.println("국어점수: " +korScore);
System.out.println("영어점수: " +engScore);
System.out.println("수학점수: " +mathScore);
System.out.println("총점: " +totalScore);
System.out.println("평균: " +average);
		
if (average >= 60) {
	System.out.println("합격여부 : 합격입니다.");
} else {
	System.out.println("불합격입니다.");
}

예시4

// 내포된 if문 (중첩 if문)
// 국어, 영어, 수학점수의 평균이 60점 이상이면 합격이다.
// 평균이 90점 이상이면 장학금을 지급한다.
// 단 한과목이라도 40점 미만이면 과락으로 인한 불합격이다.
				
int korScore = 39, engScore = 100, mathScore = 90;
				
/*
* 코딩을 할 때는 실패하는 경우를 우선 찾는 게 중요하다
* 1. 한 과목이라도 과락이 있는지 먼저 확인한다.
* 2. 과락이 있으면 불합격 처리한다.
* 3. 과목 과락이 아닌 경우, 총점과 평균을 계산한다.
* 4. 평균이 60점 이상이면 합격 판정, 합격자 중 평균 90점 이상은 장학금
*/
		
if (korScore < 40 || engScore < 40 || mathScore < 40) {
	System.out.println("과락으로 인한 불합격입니다.");
} else {
	int totalScore = korScore + engScore + mathScore;
	int average = totalScore / 3;
	if (average >= 60) 
		System.out.println("합격입니다.");
		if (average >= 90) {
			System.out.println("장학금 지급 대상으로 선정되었습니다.");
		} else {
			System.out.println("평균점수 미달로 불합격입니다.");
	}
}