Java

2주차 과제: 자바 데이터 타입, 변수 그리고 배열(피드백, feedback)

향찡 2020. 11. 22. 00:50

(백기선 라이브 스터디)

 

📌 방송에서 이름이 언급되었다. ㅎ

변동사항

  • close시간 변경 - 토요일 오후 3시
  • 슬랙 생성

 

아쉬웠던점

1. 프리미티브 타입의 표현 범위가 왜 그렇게 정해 졌는지

2. unsigned에 대한 이해 (아래 링크 참고)

blog.naver.com/hsm622/222144931396

💡 int로 22억을 출력하는 방법

import java.math.BigInteger;

public class Main {

    public static void main(String[] args) {

        int unsigned = Integer.parseUnsignedInt("220000000");
        System.out.println(Integer.toUnsignedString(unsigned));

        BigInteger bigInteger = BigInteger.valueOf(220000000L);
        System.out.println(bigInteger);
    }
}

💡 숫자리터럴 표현할때 _로 표현 가능하다.

int number = 1_000;

System.out.println(number);

 

3. 변수 선언과 초기화에 대한 바이트코드

- 바이트코드에서 확인 해보자 (javap -c)

- 자바코드에서는 한줄이지만, 바이트코드에서는 최소 두줄

 

 

4. 부동소수점은 계산이 정확하지 않다. 

- 특히 돈 계산 같은것은 float이나 double 쓰면안되고 BigDecimal사용해야 된다.

import java.math.BigDecimal;
import java.math.BigInteger;

public class Main {

    public static void main(String[] args) {

        float number = 0f;
        for (int i = 0; i < 10 ; i++) {
            number += 0.1f;
        }
        System.out.println(number); // 1.0000001

        BigDecimal number2 = BigDecimal.ZERO;
        for (int i = 0; i < 10 ; i++) {
            number2 = number2.add(BigDecimal.valueOf(0.1));
        }
        System.out.println(number2); // 1.0
    }
}

 

 

추천 링크

gintrie.tistory.com/61
github.com/kyu9/WS_Study/blob/master/week1/day1.md
blog.naver.com/hsm622/222144931396
https://www.notion.so/damho1104/2-38b5d67c7f5a48238529bb8f1617ea0d

 ㄴ  왜 에러링크 뜨는지... 깃헙에서 봐야될듯..

 

프리미티브 타입과 레퍼런스 타입

velog.io/@jaden_94/2%EC%A3%BC%EC%B0%A8-%ED%95%AD%ED%95%B4%EC%9D%BC%EC%A7%80

 

라이프타임, 변수 언제 생성 되는지에 대해서

catsbi.oopy.io/6541026f-1e19-4117-8fef-aea145e4fc1b

 

타입추론 관련

https://www.notion.so/2-00ffb2aeb41d450aa446675b8a9e91d5

.

.

.

너무많다.