<목차>
ㅇ 단순 if문, if-else문 복습
ㅇ 다중 if문
ㅇ switch문
CF. 콘솔 창이 안 보이면 : 윈도우 - 쇼 뷰 - 콘솔
ㅇ 스캐너 (진짜 마지막으로 적어보자)
CF. 쌤은 능력이 있는 변수들은 맨 위에 만들어둬
ㅇ 조건문
(복습이라 간단하게만)
ㅇ 예제 : 점수 범위에 따른 학점주기 (추가) 70점 미만은 에프
switch (식) { case 값1 : <- 콜론이야! 세미콜론 아니라!!! 실행문장 break; case 값2 : 실행문장 break; case 값3 : 실행문장 break; ¨¨¨ default : }
ㅇ 예제) 인사말 출력하기
이렇게 시도하겠지?!
switch (choice) { case 1: System.out.println("만나서 반가워~~!"); case 2: System.out.println("밥 먹었니?"); case 3: System.out.3println("잘가~"); }
문제점 1 : 해당 값의 케이스 밑의 코딩까지 쭉 실행
문제점 2 : 다른 숫자를 넣어버리면?!
최종 결과 코드로 한 번 적어보기
Scanner sc = new Scanner(System.in); System.out.print("1.만나서반가워 2.밥먹었니? 3.잘가~"); int choice = sc.nextInt(); switch (choice) { case 1: System.out.println("만나서 반가워~~!"); break; case 2: System.out.println("밥 먹었니?"); break; case 3: System.out.println("잘가~"); break; default: System.out.println("정확한 숫자를 입력해주세요.");
ㅇ 스위치를 쓰는 이유
Scanner sc = new Scanner(System.in); System.out.print("점수 입력 : "); int grade = sc.nextInt(); int i = grade/10; switch(i) { case 10: case 9 : System.out.println("A학점 입니다."); break; case 8 : System.out.println("B학점 입니다."); break; case 7 : System.out.println("C학점 입니다."); break; default : System.out.println("D학점 입니다.");
CF. 컴마버전. 2018년에 생겼어. 이게 되는 게 자바 11버전부터. 자바 8버전은 안 돼
이클립스가 자바 15버전까지 커버하고 있어서 가능한거야
ㅇ 실습 1단계 : 자판기 프로그램 만들기
Scanner sc = new Scanner(System.in); System.out.print("금액을 입력하세요. : "); int money = sc.nextInt(); System.out.println("메뉴를 고르세요. 1.콜라(800원) 2.생수(500원) 3. 비타민워터(1500원) >>"); int choice = sc.nextInt(); switch (choice) { case 1: money -= 800; break; case 2: money -= 500; break; case 3: money -= 1500; break; default: System.out.println("정확한 숫자를 입력해주세요."); System.out.println("잔돈 : " + money)
if (choice == 1 ) { money -= 800; } else if (choice == 2) { money -= 500; } else if (choice == 3) { money -= 1500; } System.out.println("잔돈 : " + money + "원");
ㅇ 실습 2단계 : 돈이 부족할 때 문제가 돼. 돈 부족하면 잔돈 100원은 그대로 돌려줘야 해
if (choice == 1 ) { if (money>=800) { money -= 800; }else { System.out.println("돈이 부족해요"); } } else if (choice == 2) { if (money>=500) { money -= 500; }else { System.out.println("돈이 부족해요"); } } else if (choice == 3) { if (money>=1500) { money -= 1500; }else { System.out.println("돈이 부족해요"); } } System.out.println("잔돈 : " + money + "원");
CF. if속 if 어렵다고 피하지 말고 마주하자! ㅜㅠ
나중에 이걸 쓸 수밖에 없는 상황들도 생길 거야!
ㅇ 실습 3단계 : 잔돈을 천원 ,오백원, 백원 단위로 돌려주자.
ㅇ 내 풀이
if (choice == 1 && money >= 800) { money -= 800; } else if (choice == 2 && money >= 500) { money -= 500; } else if (choice == 3 && money >= 1500) { money -= 1500; } else { System.out.println("돈이 부족해요ㅠㅠ"); } int a = money / 1000; int b = money % 1000 / 500; int c = money % 500 / 100; System.out.println("잔돈 : " + money); System.out.println("천원 " + a + "개," + " 오백원 " + b + "개," + " 백원 " + c + "개"); }