[혼공자] 1주차 과제

seunlee·2025년 1월 7일
1

안녕하세요! 혼공학습단 13기에 참여하게 된 이세언입니다.
1주차 과제 제출합니다!
참고로 저는 맥북 사용자여서 설치 / 환경변수 설정 방법이 달랐습니다.
관련 내용은 따로 정리해 놓았습니다!

🔗macOS 환경변수 설정


기본숙제: JDK 설치화면 인증하기

추가숙제: 02-3 확인문제 9번 풀이


🔎 첫 번째 코드 설명

package day1;

public class Number9 {
    public static void main(String[] args) {
        long var1 = 2L;
        float var2 = 1.8f;
        double var3 = 2.5;
        String var4 = "3.9";

        int result = (int)var1 + (int)(var2 + var3) + (int)Double.parseDouble(var4);
        System.out.println(result); 
        }
}

var1은 long 타입, int로 변환해도 값에 변화가 없으므로 2가 된다.
var2는 float, var3은 double 타입.
float과 double 타입이 연산될 때, 타입 승격이 일어나 float는 double로 변환됨.
따라서 var2 + var3 = 1.8 + 2.5 = 4.3을 (int)로 변환하면 소수점 이하가 버려지고 4가 된다.
Double.parseDouble(var4)는 3.9라는 실수 값을 반환, (int)3.9를 하면 소수점 이하가 버려져 3이 된다.

따라서, 2 + 4 + 3 = 9가 된다.


🔎 두 번째 코드 설명

package day1;

public class Number9 {
    public static void main(String[] args) {
        long var1 = 2L;
        float var2 = 1.8f;
        double var3 = 2.5;
        String var4 = "3.9";

        int result = (int)(var1 + var2 + var3) + (int)Double.parseDouble(var4);
        System.out.println(result); 
    }
}

(int)(var1 + var2 + var3)

var1 + var2 + var3은 서로 다른 타입의 숫자가 더해진다.
자바의 타입 승격이 발생하여, float과 long이 double로 변환된다.
따라서, 2.0 + 1.8 + 2.5 = 6.3
(int)(6.3) = 소수점 이하가 버려져 6이 된다.
첫 번째 코드와 마찬가지로 문자열 3.9 ➡️ doulbe 변환 ➡️ int를 하면 소수점 이하가 버려져 3이 된다.
6 + 3 = 9가 된다.

profile
코린이의 생존 일기 💻🌱

0개의 댓글

관련 채용 정보