다중 if문
if (조건식1) {
System.out.println("실행문장1");
} else if(조건식2) {
System.out.println("실행문장2");
} else if(조건식3) {
System.out.println("실행문장3");
} else {
System.out.println("실행문장4");
else if뒤에는 조건이 꼭 붙어야 함
else if는 조건식 최대 2개
<문제>


<풀이>

내가 이 문제에서 0입니다가 계속 안 떴음 왜냐하면? if문은 위에서 아래로 흐르니깐!!!
if 뒤에 0이니? -> True면 실행문장1 실행시킴/ 0이 아니에요-> else if조건으로 내려감
0이 if뒤에 바로 안 나오고 if문에 짝수인지부터 확인을 하면 0이 있는 조건까지 안 내려가고 컴퓨터가 값을 짝수라고 판단해버림!!!
switch-case문
- 정보처리기사에도 나오는 문제
- 출현 용어: switch, case, break, default
- break가 필수임!!!

- 식과 case뒤 값은 값이 떨어져야함
- default 뒤에도 : 나옴
- break를 걸지 않으면 위에가 참이라고 생각하면 밑에도 다 실행시켜버림
- default는 다중 if문에서 else와 비슷함!
<문제>**** 내가 똥멍청이인가... 생각한 문제다 견뎌


90점 이상일 경우에서는 10의자리가 9라는 공통점이 있네??? 9를 뽑아 와야겠다! 를 생각하기
-> 숫자를 10으로 나누면 ? 몫이 9가 나오네?
단, 점수는 0점부터 100점까지 있다는 사실 기억하기
<풀이>

변하는 값 : 점수, 학점 ---> 변수명으로 활용
학점에 대해서 변수선언 했는데 'A' 는 문자 하나여서 char 등장시킴(char은 ' ' 사용)
switch->case->break->...->default 순서
switch 뒤에 값이 명확하게 떨어지는 식이 나와야 함
case 뒤에도 명확한 값이 나와야 함
- 100점 , 90점 ~ 100점 : A학점 영역임
- break는 실행문장 끝날 때마다 등장 시켜줘야함
- default값이 나오면 else같은 얘구나?
- 맨 밑줄 출력문을 적으려면 switch 중괄호 안에 포함되면 절-대 안 됨!!!!
(이거 때문에 머리 아팠음... 원인을 못 찾아서 ㅠㅠㅠ)
왜냐? if문이랑 달리 중괄호를 안 닫고 계속 이어서, 컴퓨터가 그 문장 또한 계속 실행시키려고 함
<문제>*****머리 터지는 줄 알았다


<풀이>

- > 변하는 값이 무엇인지 파악해라 : 금액 , 메뉴, 잔돈
이 세 변수를 선언해야겠군??? ( 이 사고를 해야 내가 문제 풀기 편하다)
if(조건식){ 윗줄에 int change = 0; 을 선언해라!
실행문장에 하나하나 출력문 작성하기엔 귀찮 + 복잡해지니깐
- 만약 내가 1번 메뉴를 고르면? ---->(금액 - 1번에 대한 값)
2번 ? ---->(금액 - 2번에 대한 값)
3번 ? ---->(금액 - 3번에 대한 값)
마지막에 잔돈 계산해주자
<윗 문제를 응용하기>**** 포인트 놓쳐서 문제 틀렸음;

-> 입력한 금액이 선택한 메뉴의 가격보다 부족하면 "돈이 부족해요 ㅠㅠ"문장을 출력하세요
-> 안 부족하면 윗 문제대로 답이 출력되어야 함
<정답>

<문제>

<풀이>
난 이걸로 풀었음
<잔돈공식은 그냥 외워버리기>

ex) 3500 나누기 1000 하면 몫이 3 (천원의 갯수)
'' 1000으로 나눈 나머지(500원)를 500으로 나누면 (1개) (오백원의 갯수)
'' 1000으로 나눈 나머지(500원)를 500으로 나눈 나머지(1)를 100으로 나누기(0) (백원의 갯수)

<무단 도용 금지합니다. 스마트인재원에서 만든 자료입니다>
'Java' 카테고리의 다른 글
random, for문 (0) | 2023.02.16 |
---|---|
while문, 무한반복문, do-while문 (0) | 2023.02.15 |
삼항연산자, 조건문(단순if문, if-else문) (0) | 2023.02.11 |
산술연산자, 증감연산자 (0) | 2023.02.09 |
자바 단축키, 변수명 규칙, 자료형, 형변환 (1) | 2023.02.09 |