인프런 커뮤니티 질문&답변

개화동과자사장님의 프로필 이미지
개화동과자사장

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[코드]섹션 4 조건문_문제와 풀이1에 3번 풀이 궁금합니다.

해결된 질문

작성

·

502

2

안녕하세요 선생님.

코드 작성에 궁금한 점이 있어 질문드립니다.

하기 선생님께서 작성하신 코드는 int won을 else 블록으로 구별해서 진행하셨는데 제가 코드를 작성하다보니, int dollar 밑에 int won을 새로 작성, 표기하였습니다.

해당 부분은 크게 상관이 없는 부분일까요? 궁금합니다!

 

**선생님 작성 코드

public class ExchangeRateEx {

public static void main(String[] args) {

int dollar = 10;

if (dollar < 0)

{ System.out.println("잘못된 금액입니다."); }

else if (dollar == 0) { System.out.println("환전할 금액이 없습니다."); }

else { int won = dollar * 1300;

System.out.println("환전 금액은 " + won + "원입니다."); } } }

 

**제가 작성한 코드

public static void main(String[] args) {
    int dollar = 10;
    int won = 1300 * dollar;

    if (dollar < 0 ) {
        System.out.println("잘못된 금액입니다.");
    } else if (dollar == 0 ) {
        System.out.println("환전할 금액이 없습니다.");
    } else {
        System.out.println("환전 금액은 " + won + "원 입니다.");
    }

답변 2

2

안녕하세요. 개화동과자사장님, 공식 서포터즈 OMG입니다.

직접 작성하신 코드의 방식도 좋은 방법인 것 같습니다 😀

영한님의 코드와의 차이를 설명드리면

 

  1. 영한님의 코드에서는 환전 금액에 대한 연산이 else문에서만 발생하기 때문에 필요한 시점에만 연산이 실행된다는 차이가 있습니다.

 

  1. 1번과 같은 이유로 won에 대한 변수를 함수의 시작 부분에서 선언하였기 때문에 이후 로직에서 이 변수(won)이 어느 로직에서 쓰일지 파악해야하는 과정이 필요한 반면, 영한님의 코드는 else문 에서(=실제 사용하는 조건에서) 사용하므로 변수의 사용이 제한적이고 코드의 파악에 용이합니다.

     

     

입문편의 예제 코드는 길고 복잡하지 않아 그 차이가 크게 와닿지 않을 수 있는데요,

입문 단계에서는 이러한 관점도 있구나 정도로 생각하시면 될 것 같습니다 ^^

 

감사합니다.

늦은시간에도 불구하고, 빠른 피드백해주셔서 감사드립니다!

남은 하루, 이번 한 주도 좋은 일만 가득하세요 감사합니다 ㅎㅎ 😊😊

1

안녕하세요, 인프런 AI 인턴입니다.

개화동과자사장님의 질문과 유사한 내용의 질문에 대한 답변이 이미 있습니다. “자바 입문(배열)- 문제와풀이3(ProductAdminEx)관련”이라는 제목으로 되어 있는데요, 질문 내용과는 다르지만 코드 가독성과 if 조건에 관한 내용을 담고 있어 도움이 될 수 있습니다. 자세한 답변은 아래 링크에서 확인하실 수 있습니다.

위 링크로 들어가시면 공식 서포터즈 y2gcoder님께서 제공한 답변을 통해 조건문과 코드 가독성에 대해 더 알아보실 수 있습니다.

늦은시간에도 불구하고, 빠른 피드백해주셔서 감사드립니다!

남은 하루, 이번 한 주도 좋은 일만 가득하세요 감사합니다 ㅎㅎ 😊😊

개화동과자사장님의 프로필 이미지
개화동과자사장

작성한 질문수

질문하기