모도리는 공부중

20.11.17. 오전 - JAVA 다중 조건문과 switch 본문

K-디지털 빅데이터 분석서비스 개발자과정 20.11.02~21.04.12/JAVA

20.11.17. 오전 - JAVA 다중 조건문과 switch

공부하는 모도리 2020. 11. 17. 14:07
728x90
반응형

Exam01 조건문 복습

 

중괄호 안에서 생성된 변수는 중괄호 밖에서 영향을 끼칠 수 없다. 대신 중괄호 안에 중괄호가 또 생성된다면 그 안에서는 계속 영향을 끼칠 수 있다. 영어로는 localvalue라고 하고 한국어로는 지역변수라고 한다.

그림처럼 저 중괄호 안에서만 노는 것이다. 그럼 해결법은 무엇인가?

변수 선언을 중괄호 밖에서 미리 해주는 것이다.

내가 다른 중괄호들 안에서 사용하기 전에 이미 선언된 변수는 그 어디를 가든 사용이 가능하다.

여기서 질문!  int money; 이렇게 초기값을 안 줘도 되나요?
네, 됩니다. 하지만 다중if문을 들어가게 되면 문제가 생깁니다.
if랑 else만 있는 경우는 둘 중 하나밖에 없다보니 상관 없지만
else if는 거기에 해당되지 않는 경우가 있을 수 있어서 사용이 안됩니다.

else if는 다양한 조건을 볼 때 효율적으로 사용할 수 있다. else if 대신에 그냥 if를 여러개 써도 되긴 하지만 그렇게 되면 컴퓨터는 모든 조건을 다 확인해서 출력하게 되므로 효율성이 떨어진다. 내가 원하는 조건 하나만 출력되게 하는 방식으로 하고자 한다면 if를 여러개 쓸 것이 아니라 else if를 사용함으로써 좀 더 편리해진다.

 

 

메뉴를 고르면 잔돈을 거슬러주는 자판기 프로그램을 만들어보자.

내가 한 풀이

 

선생님 풀이

 

근데 방금 만든 프로그램에는 문제가 있다. 금액이 부족한데 메뉴도 나오고 마이너스로 돈도 거슬러주고 있다.

이 문제를 해결해보자.

내가 한 풀이
선생님 풀이 ver1. ver2는 아래 업글버전으로 사용.

 

이제 잔돈을 권종별로 거슬러주는 버전으로 업그레이드를 또 해주도록 하자.

내 풀이
선생님 풀이

 

Switch문

  •  if문과 다르게 식==값으로 이루어진 값을 가지고 참과 거짓을 판별함.
  • 식의 자리에는 비교문을 넣을 수 없음.  ex) a>=b 사용 불가
  • 값이 딱 떨어지는 식만 작성 가능

case 옆에는 값만 넣을 수 있음. 식을 계산해서 떨어지는 값의 위치를 연결하는 것이 case.

봄여름가을겨울 프로그램에 대해서는 풀이법이 정말 다양했다.

버전이 좋은 이클립스를 사용하고 있는 경우 그냥 case에 바로 모든 값을 입력해도 되기에 이렇게 복잡하게 나눠줄 필요가 없다.

728x90
반응형
Comments