본문 바로가기

국비학원 수업

22.08.25 수업_Java 변수와 타입 이론

이론

    변수와 타입

  •                int                                value                      =                       10
             데이터타입             value라고 하는변수    대입연산자        정수 10(값)

 

  • 변수 (Variable) : 
    값을 저장할 수 있는 메모리의 공간
    프로그램에 의해 값이 수시로 변동될 수 있다
    복수 개의 값을 저장X, 하나의 값만을 저장할 수 있다
    ㄴ명명규칙 : 첫글자는 문자or$,_이어야 하고 대소문자를 구별한다
    첫문자는 소문자로 하되 다른단어는 대문자로 한다(ex. carBodyColor)
    문자 길이의 제한은 없으며 예약어는 사용할 수 없다
    (예약어 Ex. boolean, byte, char, int, private, class, null, void, ture, false, etc.)
    같은 타입의 변수는 ,를 이용하여 한꺼번에 선언 가능 (ex. int x, y, z;)
  • 변수는 직관적으로 의미있는 변수 이름을 지어주는게 좋다

 

  • 변수값 저장 : 대입연산자 = 를 이용한다 (=우측의 값을 좌측 변수에 저장한다)
    *리터럴(literal) : 소스 코드 내에 직접 입력된 값
    (정수 리터럴, 실수 리터럴, 문자 리터럴, 논리 리터럴)

 

  • 정수 리터럴 : 기본 10진수, 0으로 시작되는 8진수, 0x로 시작하는 16진수
    실수 리터럴 : 소수점이 있는 리터럴은 기본 10진수, e가 있는 리터럴은 10진수 지수와 가수로 간주 (float, double)
    Ex) float value = 3e6  -> 3*10^6=3000000.0
    문자 리터럴 : ''로 묶는 하나의 문자
    문자열 리터럴 : ""로 묶는 문자열
    논리 리터럴 : ture, false

 

 

  • 변수의 사용범위
     : 변수는 중괄호 { } 블록 내에서만 선언되고 사용된다.
       설계시 이용이 용이하도록 짜야한다.

데이터 타입

  • 정수 타입 : byte, char, short, int, long
    최상위 비트(MSB : Most Significant Bit)는 정수값의 부호를 결정한다. 0=양,1=음
  • char 타입 : 자바는 모든 문자를 유니코드(Unicode)로 처리한다.
                    유니코드는 음수가 없으므로 char 타입의 변수는 음수값을 저장할 수 없다.
    ㄴ프로그램 코드에서 char 변수에 저장된 유니코드를 알고 싶다면 
    char 타입 변수를 int 타입 변수에 저장하면 된다.
    Ex)
    char c = 'A';
    int uniCode = c;
    char 타입의 변수를 초기화 하기 위해서는 공백을 포함하여야 한다.
    char c = ' ';
    String 변수는 ""를 대입하여도 상관없다.
  • short 타입 : 2byte로 정수값을 저장하며, 대부분 C언어와의 호환을 위해 사용된다.
  • int 타입 : 4byte의 정수값을 저장하며 정수 연산을 하기위한 기본 타입이다.
  • long 타입 : long(8byte), int 타입의 저장 범위를 넘어서는 큰 정수는 반드시 L을 붙여줘야한다.
    Ex) long var3 = 1000000000000; <컴파일 에러
         long var4 = 1000000000000L <옳은 코드
  • 실수 타입 : float(4byte), double(8byte)
    float 는 리터럴 뒤에 f를 붙여주어야한다.
    double은 값이 2배로 저장되나 정밀도는 비례한다
  • 논리 타입 : boolean(1byte)
    boolean 타입은 논리값(true/false)을 저장할 수 있는 데이터 타입
    두가지 상태값을 저장할 필요성이 있을 경우 사용한다.
    Ex) 스위치

 

  • 타입 변환
    정수 타입이 실수 타입으로 변환되면 자동으로 타입변환이 이루어지며 정수 값은 .0이 붙은 실수값으로 변환된다.
    byte(1) > short(2) > int(4) > long(8) > float(4) > double(8)
  • 강제 타입 변환(캐스팅: Casting)
    int를 byte로 강제 변환을 한다면 원래의 int값은 보존되지 않는다.
    하지만 int값이 끝 1byte로만 표현 가능하면 같은값을 유지할 수 있다.
  • 연산식에서 타입을 혼합 사용하면 자동으로 큰 타입으로 변환후 연산을 수행한다.