Pre-Onboarding 1일차

최재하·2022년 11월 8일
0

Java버전별 차이

  • Java는 크게 LTS(Long-term Support) 버전과 non-LTS 버전으로 나뉩니다. LTS라 불리우는 장기 지원 버전은 후속 버전이 출시되어도 일정 기간 동안 지원을 지속하지만 non-LTS 버전은 지원이 종료된다는 차이점이 있다.

JDK vs JRE

JDK(Java Development Kit)

  • Java 어플리케이션 개발을 위해 반드시 필요하며, 사람이 작성한 소스 코드를 번역하여 컴퓨터가 이해할 수 있는 바이트 코드로 변환하는 도구인 Java 컴파일러가 포함되어 있습니다.
  • 일반적으로 JDK는 OpenJDK + 제조사의 부가 기능 으로 구성되며, 대표적인 것이 바로 Oracle JDK 입니다. 현재 Oracle JDK는 상용버전으로 공개되고 있으며, 라이센스 이슈를 피하기 위해서는 다른 제조사의 JDK 이용을 권장합니다.

JRE(Java Runtime Environment), JVM(Java Virtual Machine)

  • Java로 컴파일 된 어플리케이션을 실행하는 역할을 합니다. 모든 Java 어플리케이션은 JVM이라고 하는 가상의 컴퓨터 공간에서 실행되며, Windows, Linux, Mac 등 어떠한 운영체제라도 JVM이 설치되어 있다면 Java 어플리케이션을 실행할 수 있습니다.

변수

  • 변수선언
    같은타입의 변수는 콤마(,)를 이용해 한번에 선언할 수도 있다.
int x; int y; int z;          int x, y, z;

두 방법 모두 동일한 선언이다.

int score = 90; 

변수를 선언할때 값도 바로 넣어줄 수 있다.

  • 예약어
    예악어란 해당 프로그래밍 언어에서 의미를 가지고 사용되고 있는 단어로
    변수 이름으로 사용할 수 없다.
분류예약어
기본 타입boolean, byte, char, short, int, long, float, double
접근 제한자private, protected, public
클래스와 관련된 것class, abstract, interface, extends, implements, enum
객체와 관련된 것new, instanceof, this, super, null
메소드와 관련된 것void, return
제어문과 관련된 것if, else, switch, case, default, for, do, while, break, continue
논리값true, false
예외 처리와 관련된 것try, catch, finallym throw, throws
기타package, import, synchronized, final, static
  • 변수 사용 범위
    • 변수는 중괄호{} 블록 내에서 선언하고 사용한다.
    • 변수는 블록내 어디에서든 선언할 수 있다. 하지만 사용은 자신이 선언된
    • 위치로부터 자신이 속한 블록 내부에서만 사용가능하다.
      메소드 블록 내에는 다른 중괄호 블록들이 작성될 수 있다. if{},for{}등이 중괄호 블록을
      가질 수 있다. 이러한 중괄호 내에 선언된 변수는 해당 중괄호에서만 사용할 수 있다.

타입

  • 기본타입
    자바는 정수, 실수, 논리값을 저장할 수 있는 8개의 기본타입을 제공한다.

    • 정수 타입(byte, char, short, int, long)
      각 타입에 저장되는 값의 범위를 외울필요는 없지만 메모리 사용 크기
      정도는 알고 있는것이 좋다.

      타입메모리 사용 크기지정되는 값의 허용 범위
      byte1byte 8bit-128 ~ 127
      char2byte 16bit0 ~ 65535(유니코드)
      short2byte 16bit-32,768 ~ 32,767
      int4byte 32bit-2,147,483,648 ~ 2,147,483,647
      long8byte 64bit-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
    • 실수 타입(float, double)

      타입메모리 사용 크기지정되는 값의 허용 범위정밀도(소수점 이하 자리)
      float4byte 32bit1.4x10(-45승) ~ 3.4x10(38승)7자리
      double8byte 64bit4.9x10(-324승) ~ 1.8x10(308승)15 자리
    • 논리 타입(boolean)
      true 와 false를 사용하는 논리 리터럴 1byte 크기의 boolean 타입
      변수에 저장할 수 있다.

      boolean stop = true;
      boolean state = false;
  • 타입 변환

    • 자동 타입 변환
      값의 허용범위가 작은 타입이 허용범위가 큰 타입으로 저장될 때 발생한다.
    byte < short < int < long < float < double
    • 강제 타입 변환
      큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 나눠 저장하는 것.
    double doubleValue = 3.14;
    int intValue = (int) doubleValue;//3만 저장
    
    실수타입은 정수 타입으로 자동 변환이 안되기 때문에 강제 타입 변환을 사용 이경우 소수점 이하 부분은 버려지고 , 정수 부분만 저장
    int intValue = 65;
    char charValue = (chard) int Value;
    System.out.println(charValue);
    
    int 타입은 char 타입보다 더 큰 허용 범위를 가져서 자동변환이 되지 않는다. 하지만 (char)를 사용해서 char 타입으로 강제 
    변환할 수 있다 char 타입으로 변환하는 이유는 문자를 출력할 수 있기때문이다.

이런식으로 블로그에 정리하면서 공부하는게 처음이라서 새롭고 낯설다.
그래도 계속 정리하다보면 익숙해질듯
강제 타입 변환쪽은 이해가 덜 된거같아서 내일 한번더 봐야할꺼같다.

0개의 댓글