작성
·
125
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
System.out.print("정수를 입력하세요:");
int intValue = scanner.nextInt();
System.out.println("입력한 정수: " + intValue);
System.out.print("실수를 입력하세요:");
double doubleValue = scanner.nextDouble();
System.out.println("입력한 실수: " + doubleValue);
타입이 다르면 오류가 발생한다고 했는데, double에 정수(예 15) 입력하면 15.0으로 나오더라구요.
이건 자동형변환이 된건가요..?
아니면 숫자 -> 숫자는 상관 없는 걸까요?
답변 2
1
오류를 보고 싶다면 "정수를 입력하세요" 에서 15.023 와 같은 실수를 입력해보면 알 수 있습니다.
이전에 형변환 단원에서 배웠듯이 int(정수)타입은 double(실수)로 자동 형변환이 되나, double(실수)타입은 int(정수)로 자동 형변환되지 않기 때문입니다.
실수를 입력하는 부분에서 15와 같은 정수로 입력하면 단연 자동으로 형변환이 이루어질 것입니다.