java - 조건문(if, switch)

songmin jeon·2023년 11월 21일
0

1. 조건문


1.1. if 문

단순 if문

if(조건식){
	조건식이 참 일때 실행할 코드
}

1.1.1. if-else문

if(조건식){
	조건식이 참일때 실행할 코드
} else {
	조건식이 거짓일때 실행할 코드
}
  		/* 실습문제
		 * 다음은 에버랜드 입장료 계산 프로그램입니다.
		 * 기본료는 5,000원이며 인원수에 따라 지불해야하는 프로그램을 만들어 보세요.
		 * 단, 20세 미만인 경우 50% 할인이 적용됩니다.
		 */
		System.out.println("==== 에버랜드에 오신걸 환영합니다! ====");
		System.out.print("나이를 입력하세요 : ");
		int age = sc.nextInt();
		System.out.print("인원수를 입력하세요 : ");
		int peple = sc.nextInt();
		
		int money = 0;
		int gaguk = 5000;
		float sail = 0.5f;
        
		//money를 전역변수로 만들어주고 0을 초기화
		if (age >= 20) {
			money = gaguk * peple;	
		} else {
			money = (int) (gaguk * sail * peple);
		}
		System.out.println("총 " + money + "원 입니다.");

1.1.2. 다중 if문

if(조건식1){
	조건식1이 참일때 실행할 코드
} eles if(조건식2)
	조건식2이 참일때 실행할 코드
} eles {
	조건식이 모두 거짓일때 실행할 코드
}
/*
1.다중 if문 실습문제
int타입의 변수 num를 선언하고 키보드로 값을 입력 받으세요.
num이 짝수면 "짝수입니다."
홀수일 경우 "홀수입니다."
0일 경우 "0입니다."를 출력하는 프로그램을 만드세요.
*/
		Scanner sc = new Scanner(System.in);
		
		System.out.print("숫자를 입력 하세요 >> ");
		int num = sc.nextInt();
		
		if (num == 0 ) {
			System.out.println("0 입니다.");
		} else if (num % 2 == 1) {
			System.out.println("홀수입니다.");
		} else {
			System.out.println("짝수입니다.");
		}
    
    
    
/*
2.다중 if문 실습문제
int 타입의 변수 totalScore를 선언하고 키보드로 값을 입력 받으세요.
totalScore가 90점 이상이면 "A학점입니다." ,
80점 이상 90점 미만일 경우 "B학점입니다." ,
70점 이상 80점 미만일 경우 "C학점입니다." ,
70점 미만일 경우 "D학점입니다."를 출력하는 프로그램을 만드세요.
*/
		Scanner sc = new Scanner(System.in);
		
		System.out.print("점수 입력 : ");
		int totalScore = sc.nextInt();
		char grade ='A';
		
		if (totalScore >= 90) {
			
		} else if(totalScore >= 80) {
			grade='B';
			
		} else if(totalScore >= 70) {
			grade='C';
			
		} else {
			grade='D';
		}
		System.out.println(grade + "학점입니다");
		

1.2. switch문

  • swich(딱 떨어지는 값이 들어갈 수 있음)
  • boolean 타입이 들어 갈 수 없음.
/*1. switch 실습문제
int 타입의 변수 totalScore를 선언하고 키보드로 값을 입력 받으세요.
totalScore가 90점 이상이면 "A학점입니다." ,
80점 이상 90점 미만일 경우 "B학점입니다." ,
70점 이상 80점 미만일 경우 "C학점입니다." ,
70점 미만일 경우 "D학점입니다."를 출력하는 프로그램을 만드세요.
*/

		Scanner sc = new Scanner(System.in);
		
		System.out.print("점수를 입력하세요 : ");
		int totalScore = sc.nextInt();
		char result;
		
		switch (totalScore/10) {
		case 10:
			result = 'A';
			break;
		case 9:
			result = 'A';
			break;
		case 8:
			result = 'B';
			break;
		case 7:
			result = 'C';
			break;
		default:
			result = 'D';
			break;
		}
		System.out.println(result + "학점입니다.");
        
        
        
/* 2. switch 실습문제
 * 월을 입력받아 봄, 여름, 가을, 겨울 중 맞는 계절을 알려주는 프로그램을 만드세요.
 */
		
		// 1. 입력도구
		Scanner sc = new Scanner(System.in);
		// 2. 월 입력
		System.out.print("월 입력 : ");
		// 3. 입력 받기
		int month = sc.nextInt();
		// 4. 계절을 담아줄 변수 생성
		String result;
		
		// month 판별!
		switch(month) {
        // , 로 구분가능
		case 12, 1, 2:
			result = "겨울";
			break;
		case 3:
		case 4:
		case 5:
			result = "봄";
			break;
		case 6:
		case 7:
		case 8:
			result = "여름";
			break;
		default:
			result = "가을";
			break;
		}
		System.out.print(month + "월은 "+ result + "입니다.");
                

1.3 조건문 복합예제

/*
 * 조건문 복합예제
 * 자판기 프로그램을 만들어봅시다.
 * 금액을 입력하고 메뉴를 고른 뒤 잔돈을 출력해 보세요!
 * 입력한 금액이 선택한 메뉴의 가격보다 부족하면
 * "돈이 부족해요 ㅠㅠ" 출력해보기!
 * 또한 잔돈을 줄때 천원이 잔돈 몇장인지 출력해보기!
 */
		

		// 1. 입력받는 도구 꺼내기
		Scanner sc = new Scanner(System.in);
		// 2. 금액을 입력하세요 출력문 작성
		System.out.println("금액을 입력하세요 >> ");
		// 3. 금액 입력 받기
		int money = sc.nextInt();
		
		//메뉴의 금액을 변경시 사용
		int manu01 = 700;		//이구동성 가격
		int manu02 = 1000;		//썬칩 가격
		int manu03 = 500;		//뽀빠이 가격
		int change = money;		//거스름돈
		
		int m1000	= 0;
		int m500	= 0;
		int m100	= 0;
		
		// 4. 자판기 메뉴를 출력
		System.out.println("메뉴를 고르세요.");
		System.out.print("1.이구동성("+manu01+") 2.썬칩("+manu02+") 3.뽀빠이("+manu03+") >> ");
		// 5. 사용자에게 메뉴 입력받기
		int pickNum = sc.nextInt();
		
		// 판단 ---> 조건문
		// switch, 다중 if문 사용해서 
		if (money > 500) {		//입력 돈이 적으면
			
			// 6. 사용자가 입력한 메뉴가 무엇인지 판단
			switch (pickNum) {
			case 1:
				// 만약에 사용자가 1번을 선택
				// 잔돈 = 지불한 금액 - 700
				change = money - manu01;
				break;
			case 2:
				// 만약에 사용자가 2번을 선택
				// 잔돈 = 지불한 금액 - 1000
				change = money - manu02;
				break;
			case 3:
				// 만약에 사용자가 3번을 선택
				// 잔돈 = 지불한 금액 - 500
				change = money - manu03;
				break;
			default:
				System.out.println("잘못 선택하셨습니다.");
				break;
			}
			
			// 7. 잔돈이 음수(-)인지 판별
			if(change >= 0) {				
				System.out.println("잔돈 : " + change + "원");
				m1000 = change / 1000;
				m500 = (change % 1000) / 500 ;
				m100 = (change % 500) / 100 ;
				
				System.out.print("천원 : " + m1000 + "개, ");
				System.out.print("오백원 : " + m500 + "개, ");
				System.out.print("백원 : " + m100 + "개");
				
			} else {
				System.out.println("돈이 부족해요 ㅠㅠ");
				System.out.println("잔돈 : " + change + "원");
			}
			
		} else {
			System.out.println("돈이 부족해요 ㅠㅠ");
			System.out.println("잔돈 : " + change + "원");
		} 

이클립스 단축키

Alt + Shift + R = 해당변수 이름 일괄적으로 변경가능
컨트롤 + 시프트 + c = 영역주석

profile
제가 한 번 해보겠습니다.

0개의 댓글