본문 바로가기
Java

자바 조건문(Java Conditional Statement)

by wanttosleep1111 2023. 1. 9.

자바 조건문(Java Conditional Statement)

 

※ 조건문

주어진 조건을 비교, 판단하여 그 조건에 만족할 경우 지정된 명령을 실행, 만족하지 않을 경우 다음 단계의 명령을 수행

 

1. 단순 if문

 

▶ 예제

int 타입의 변수 age를 선언하고 키보드로 값을 입력받은 후, 만약 age가 20보다 크거나 같다면 "성인입니다." 출력하기

Scanner sc = new Scanner(System.in);
		System.out.print("나이 입력 >> ");
		int age = sc.nextInt();
		
		if (age >= 20) {
			System.out.println("성인입니다.");
		}

 

예제

int 타입의 변수 num을 선언하고 키보드로 값을 입력받은 후, 만약 num이 3의 배수이면서 5의 배수라면 "3과 5의 배수입니다." 출력하기

Scanner sc = new Scanner(System.in);
		System.out.print("정수를 입력하세요 : ");
		int num = sc.nextInt();
		
		if (num%3==0 && num%5==0) {
			System.out.println("3과 5의 배수입니다.");
		}

 


 

2. if-else문

 

▶ 예제

int 타입의 변수 grade를 선언하고 키보드로 값을 입력 받기

만약 grade가 60점 이상이면 "합격입니다.", 그렇지 않다면 "불합격입니다." 출력하기

Scanner sc = new Scanner(System.in);
		System.out.print("점수를 입력하세요 : ");
		int grade = sc.nextInt();
		
		if (grade >= 60) {
			System.out.println("합격입니다.");
		} else {
			System.out.println("불합격입니다.");
		}

 

▶ 예제

놀이공원 입장료 계산하기 (나이 입력, 인원수 입력 받기)

기본료는 5000원 이상이며 인원 수에 따라 지불

단, 20세 미만인 경우 50%할인 적용

Scanner sc = new Scanner(System.in);
		System.out.print("나이를 입력하세요 : ");
		int age = sc.nextInt();
		System.out.print("인원 수를 입력하세요 : ");
		int num = sc.nextInt();
		
		int result = 0; // 총 금액을 담을 변수 result 선언
		
		if (age<20) {
			result = (5000*num)/2;
		} else {
			result = 5000*num;
		}
		System.out.println("총 " + result + "원입니다.");

 

▶ 예제

마트 계산대 프로그램 (상품 개수 입력 받기)

10000원짜리 선물세트를 구입했을 때 지불해야하는 금액 계산

단, 11개 이상 구매 시에는 전체금액에서 10%할인 적용

Scanner sc = new Scanner(System.in);
		System.out.print("상품의 개수를 입력하세요 : ");
		int num = sc.nextInt();
		
		int result = 0; // 총 금액을 담을 변수 선언
		
		if (num > 10) {
			result = (10000*num)-(10000*num/10); 
		} else {
			result = 10000*num;
		}
		System.out.println("가격은 " + result + "원입니다.");

 


 

3. 다중 if문

 

예제

int 타입의 변수 totalscore를 선언하고 키보드로 값을 입력 받기

totalscore가 90점 이상이면 "A학점입니다."

totalscore가 80점 이상, 70점 미만이면 "B학점입니다."

totalscore가 70점 이상, 80점 미만이면 "C학점입니다."

totalscore가 70점 미만이면 "D학점입니다."

출력하기

Scanner sc = new Scanner(System.in);
		
		System.out.print("점수 입력 : ");
		int totalScore = sc.nextInt();
		
		String grade = ""; // 학점을 담을 변수 선언
		if (totalScore >= 90) {
			grade = "A";
		} else if (totalScore >= 80 && totalScore < 90) {
			grade = "B";
		} else if (totalScore >= 70 && totalScore < 80) {
			grade = "C";
		} else {
			grade = "D";
		}
		System.out.println(grade+"학점입니다.");

 


 

4. switch-case문

※ break; 

조건문, 반복문을 멈추는 키워드

break문이 없으면 참이 되는 순간 이후의 모든 값이 실행된다.

 

예제

월을 입력 받아 봄, 여름, 가을, 겨울 중 맞는 계절을 출력하기

Scanner sc = new Scanner(System.in);
		System.out.print("월 입력 : ");
		int month = sc.nextInt();
		
		
		// month를 3으로 나눈 몫을 기준으로 계절 판단
		switch (month/3) {
		case 1:
			System.out.println(month+"월은 봄입니다.");
			break;
		case 2:
			System.out.println(month+"월은 여름입니다.");
			break;
		case 3:
			System.out.println(month+"월은 가을입니다.");
			break;
		default :
			System.out.println(month+"월은 겨울입니다.");
			break;
		}

 


 

▶ 실습 (자판기)

금액을 입력하고 메뉴를 고른 뒤 잔돈 출력

입력한 금액이 선택한 메뉴의 가격보다 부족하면 "돈이 부족합니다!" 문장 출력

잔돈을 줄 때 천원, 오백원, 백원을 몇 개 줘야하는 지 출력

 

더보기
Scanner sc = new Scanner(System.in);
		
		// 금액 입력
		System.out.print("금액을 입력하세요 >> ");
		int money = sc.nextInt();
		
		// 메뉴 고르기
		System.out.println("메뉴를 고르세요.");
		System.out.print("1.아우터(700원) 2.이구동성(1000원) 3.에그몽(500원) >> ");
		int menu = sc.nextInt();
		
		int price = 0; // 메뉴 가격을 담을 변수 선언
		int change = 0; // 잔돈을 담을 변수 선언
		
		// 고른 메뉴에 따라서 price 바꾸기
		switch (menu) {
		case 1:
			price = 700;
			break;
		case 2:
			price = 1000;
			break;
		case 3:
			price = 500;
			break;
		}
		
		// 잔돈 구하기
		if (money < price) {
			System.out.println("돈이 부족합니다.");
		} else {
			change = money - price;
			System.out.println("잔돈 : " + change );
		}
		
		// 잔돈 천원, 오백원, 백원으로 나누기
		System.out.println("천원"+(change/1000)+"개, 오백원"+(change%1000/500)+"개, 백원"+(change%1000%500/100)+"개");

'Java' 카테고리의 다른 글

자바 이차원 배열(Java Two-dimensional array)  (0) 2023.01.22
자바 배열 (Java Array)  (0) 2023.01.17
자바 반복문(Java Loop)  (0) 2023.01.16
자바 연산자(Java Operator)  (0) 2023.01.08
자바 변수 (Java Variables)  (1) 2023.01.08

댓글