ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA학습 2주차 (2021.01.21)
    JAVA 기본 2021. 1. 22. 00:19
    728x90

    학습할 것

    • 프리미티브 타입 종류와 값의 범위 그리고 기본 값
    • 프리미티브 타입과 레퍼런스 타입
    • 리터럴
    • 변수 선언 및 초기화하는 방법
    • 변수의 스코프와 라이프타임
    • 타입 변환, 캐스팅 그리고 타입 프로모션
    • 1차 및 2차 배열 선언하기
    • 타입 추론, var

     

     

    프리미티브 타입 종류와 값의 범위 그리고 기본 값

     

    일단 프리미티브가 무엇인가?

    바로 해석될 수 있는 자료형 이다.

    ㄴ 결론 자바의 자료형 종류

     

    종류 값의 범위 기본값 메모리 크기
    boolean 1 or 2 false 1
    char \u0000 to \uFFFF \u0000 //null이 포함된유니코드 2
    byte –128 to 127 0 1
    short -2^15 ~ (2^15 - 1) 0 2
    int -2^31 ~ (2^31 - 1) 0 4
    long -2^63 ~ (2^63 - 1) 0L 8
    float (3.4 X 10^-38) ~ (3.4 X 10^38) 0.0f 4
    double (1.7 X 10^-308) ~ (1.7 X 10^308) 0.0d 8

     

     

    자료형 타입과 참조타입

     

    자료형 타입은 위와같이 있고

     

    참조형 타입은

    클래스타입

    인터페이스 타입

    배열 타입

    열거 타입 이있다.

    실제값이 아닌 해당값을 접근하여 주소값이 메모리상에 저장된다는 차이점이있다,

     

    ++정수값

    10진수 : 26 16진수 : 0x1a
    8진수 : 032 2진수 : 0b11010
    자바에서는 정수는 4byte로 표현함 그이상을 표현하고 싶으면 26L == 8byte로 표현한다는 뜻

    리터럴

     

     소스 코드의 고정된 값을 대표하는 용어

     

    변수 리터럴 상수
    변하는 값 변수 데이터가 저장된 메모리 공간을 가리키는 이름을 가지고 있지 않습니다. 저장된 데이터를 변경할 수 없다
      자바에서 리터럴은 타입에 따라구분됨 상수는 선언과 동시에 반드시 초기화해야 합니다
     

     

    자바에서는 final 키워드를 사용
     

    int var = 30;         // 30이 바로 리터럴임.

    final int AGES = 100; // 100이 바로 리터럴임.

     

    final int AGES = 30;

    ++BigDecimal

    • 소수점을 저장할 수 있는 가장 크기가 큰 타입인 double은 소수점의 정밀도에 있어 한계가 있어 값이 유실될 수 있다.
    • double은 2진수로 저장후 10진수로바꾸고
    • Big은 10진수여서 더블은 실제값과 다를 수 있음
    • jsonobject.tistory.com/466

    변수 선언 및 초기화

     

    타입 변수명

    ex)

    int a;    // 선언

    a = 20; // 초기화

    or 

    int a = 20;

     

    변수의 스코프scope와 라이프타임

     

    변수의 영역scope이란

    ㄴ변수가 접근하거나 접근할 수 있는 유효 범위/영역

    == { }

    라이프 타임

    변수가 메모리에 살아있는 기간

     

     

    타입 변환, 캐스팅 그리고 타입 프로모션

     

    타입 변환

    ㄴ하나의 타입에서 다른 타입으로 변환하는 것

    bool을 제외한 나머지에서 가능

     

    1. 묵시적 타입 변환

    자동으로 데이터가 손실되지 않는 방향으로 큰거에서 작은 것으로 자료형 변환

    ex)double num1 = 10; -> int num1 = 10;

     

    2. 명시적 타입 변환

    ㄴ사용자가 강제적으로 형을 변환 시키는것

    문법

    ㄴ(변환할타입) 변환할데이터

    ex)

    int num1 = 1, num2 = 4;

     

    ① double result1 = num1 / num2;

    ② double result2 = (double) num1 / num2;

     

    result 

    0.0

    0.25

     

    1번은 연산을 수행하고 얻은 값의 타입이 int 이다.

    결과값 == 피연산자

    2번은 형을 변화해 double로 값을 구함

     

     

    1차 및 2차 배열 선언하기

     

    배열

    ㄴ같은 타입의 수를 연속적으로 선언하는것

     

    문법

    타입[] 배열이름 = new 타입[배열길이];

     

     

    타입 추론, var

     

    개발자가 변수의 자료형을 적지 않아도 컴파일러가 알아서 이 변수의 타입을 대입된 값으로 추론하는것

     

    ++

    casting

    변수의 타입를 명시적으로 바꿔주는것

    int a = 1.1 // 오류

    int a = (int) 1.1 // 1

    String f = Integer.toString(1) // 1이라는 정수를 문자열로 변경하는것

     

    'JAVA 기본' 카테고리의 다른 글

    6주차 과제: 상속 #6  (0) 2021.02.23
    5주차 과제: 클래스 #5  (0) 2021.02.22
    4주차 과제: 제어문  (0) 2021.02.02
    3주차 과제: 연산자  (0) 2021.02.02
    JAVA학습 1주차 (2021.01.21)  (0) 2021.01.21

    댓글

Designed by Tistory.