본문 바로가기
Programming/Java

자바 if문, if문 예시

by hyunipad 2021. 1. 5.
반응형

if문


 

if 조건문은 조건식과 실행 문장으로 구성되어 있습니다.

조건식은 boolean 타입인 true 또는 false를 반환하고 true 이면 블록을 실행하고 false 이면 실행하지 않습니다.

 

 

 

if문의 순서도

 

 

조건이 true 일 때 문장 1이 실행되고 false 이면 실행되지 않은 채로 문장 2가 실행됩니다.

 

 

if문 코드


if문의 문법

간단한 예제를 한번 보겠습니다.

package hyuni;

import java.util.Scanner;

public class IfEx1 {

	public static void main(String[] args) {

		int money = 3500;

		if (money >= 3000) { // money가 3000원 이상일 경우 블록 안의 문장을 실행
			System.out.println("택시를 타고 가자 ! ");
		}
        System.out.println("집에 도착 !");
	}
}

 

money가 3000원 이상이기 때문에 택시를 타고 집에 가게 되겠죠?

그렇다면 false 일 때 문장을 실행시키고 싶은 문장이 있으면 어떻게 해야 할까요?

 

if ~ else문


if ~ else 순서도

 

조건식이 true인 경우 : 시작 => 문장 1 => 문장 3 => 끝

조건식이 false인 경우: 시작 => 문장 2 => 문장 3 => 끝

 

if ~ else문 코드


if~else문 문법

 

헷갈리시는 분은 위의 순서도랑 같이 비교해보시면 편하실 겁니다!

기본 if 문과 다른 점은 else 문에는 따로 조건식이 들어가지 않습니다.

if 문의 조건식이 true인 경우를 제외하고는 모두 else 문에서 실행되기 때문에 따로 명시해 줄 필요가 없는 것이죠.

 

마찬가지로 간단한 예제를 보고 넘어가도록 하겠습니다.

package hyuni;

import java.util.Scanner;

public class IfEx1 {

	public static void main(String[] args) {

		int money = 2500;

		if (money >= 3000) {
			System.out.println("택시를 타고 가자 ! "); // money 가 3000이상일 경우에 택시를 타고 감 !
		} else {
			System.out.println("버스를 타고 가자 !"); // money 가 3000미만일 경우에 버스를 타고 감 !
		}
		
		System.out.println("집에 도착 !");
	}
}

money의 값이 2500원이기 때문에 false가 반환되어 else 문의 문장이 실행되어 버스를 타고 집에 가게 됩니다.

 

if ~ else if ~ else


elseif의 문법

 

else if 문을 이용해 간단한 성적 출력 프로그램을 짤 수 있습니다.

package hyuni;

import java.util.Scanner;

public class IfEx2 {

	public static void main(String[] args) {

		int score = 85;  // score(점수)는 85점 입니다.
		String grade = ""; // 학점을 넣기위한 String형 데이터 타입으로 null값을 선언합니다.

		if (score >= 90) { // score가 90점 이상일때 A학점 입니다.
			grade = "A";
		} else if (score >= 80) {   // score가 80점 이상일때 B학점 입니다.
			grade = "B";
		} else if (score >= 70) {   // score가 70점 이상일때 C학점 입니다.
			grade = "C";
		} else if (score >= 60) {   // score가 60점 이상일때 D학점 입니다.
			grade = "D";
		} else {  // 그 이하는 F학점 입니다.
			grade = "F";
		}
		System.out.println(score + "점은 " + grade + "등급 입니다.");
	}
 
}

코드를 이런 식으로 짜게 된다면 사용자가 올바른 점수를 넣으면 학점이 반환되겠지만 음수 값을 넣거나 100점을 넘어가는 점수를 넣게 되면

잘못된 점수를 입력했다고 출력을 해줘야 합니다. 이럴 땐 중첩 if 문으로 한 번 더 조건을 걸어줄 수 있습니다.

 

중첩 if문


package hyuni;

import java.util.Scanner;

public class IfEx2 {

	public static void main(String[] args) {
		// 다중 if문
		// 학점 계산기 예시
		int score = 85;
		String grade = "";

		if (score >= 0 && score <= 100) { // 점수가 0이상 100이하 일때만 성적출력프로그램을 실행 합니다.
			if ( score >= 90) {
				grade = "A";
			}
			else if (score >= 80) {
				grade = "B";
			}
			else if (score >= 70) {
				grade = "C";
			}
			else if (score >= 60) {
				grade = "D";
			}
			else {
				grade = "F";
			}
			System.out.println(score + "점은 " + grade + "등급 입니다.");
		}
		else { // 0미만 이거나 100을 초과했을경우에는 "점수 오류입니다."를 출력 해줍니다.
			System.out.println("점수 오류입니다.");		
		}

	}

}

 

 

 

반응형

댓글