티스토리 뷰

1. 변수와 자료형


CPU -> 연산

메모리 -> 저장(참조)

변수 : 메모리 공간의 접근을 위한 문법적 요소

변수의 메모리 공간 활용 요소 : 

    - 메모리 공간 할당(확보) 방법

    - 메모리 공간에 접근(저장 및 참조) 방법

예) int num1;

자료형의 종류와 구분

 자료형

데이터

메모리 크기

표현 가능 범위 

 boolean

참과 거짓 

1 바이트

true, false 

 char

문자 

2 바이트 

모든 유니코드 문자 

 byte

정수

1 바이트 

-128 ~ 127 

 short

2 바이트 

-32768 ~ 32767 

 int

4 바이트 

-2147483648 ~ 2147483647 

 long

8 바이트 

-9223372036854775808 ~ 9223372036854775807 

 float

실수 

4 바이트 

+-(1.40X10^(-45) ~ 3.40X10^38) 

 double

8 바이트 

+-(4.94X10^(-324) ~ 1.79X10^308 

정수에서 일반적으로 사용하는 자료형 : int

실수에서 일반적으로 사용하는 자료형 : double (정확도 높음)

변수 이름의 제약사항

    - 숫자로 시작불가

    - $와 _ 이외의 다른 특수문자는 사용 불가

    - 키워드는 변수의 이름으로 사용 불가


2. 자료형 표현방식


양의 정수

    - MSB는 부호

    - MSB를 제외한 나머지는 크기

    - 바이트 크기의 차이는 표현범위의 차이로 이어짐

음의 정수

    - 양의 정수와의 합이 0이 되는 구조

    - 2의 보수로 표현 : 양의 정수에서 비트 반전 후 +1

실수의 표현방식 : 소수점 아래를 무한히 표현하지 못하므로 오차가 발생된다.

    - 정밀도를 포기하고, 표현할 수 있는 값의 범위를 넓힌다.

    - +-(1.m)X2^(e-127) : IEEE754

        - MSB : 부호

        - 2~6비트 : m

        - 7~16비트 : e

3. 자료형의 이해

정수 자료형 : byte, short, int, long : 바이트 크기에 따라서 구분 (int 선호)

               CPU는 int형 데이터의 크기만 연산하지만 byte, short으로 데이터의 양을 줄일 수 있다.

실수 자료형 : flaot, double : float은 소수점 이하 6자리, double은 12자리 정밀도 (double 선호)

문자 자료형 :

    - 문자 하나를 2 바이트로 표현하는 유니코드 기반으로 표현

    - 유니코드는 전 세계의 문자를 표현할 수 있는 코드 집합

    - 문자는 작은 따옴표로 표현

    - char형 변수를 저장하며, 실제로는 유니코드 값이 저장됨

boolean 자료형 : true / false


3. 상수와 형 변환


상수 : 

    - 자료형을 기반으로 표현, 메모리 공간에 저장, 이름이 존재하지 않음, 변경 불가, 존재 의미가 없어지면 바로 소멸

    - 정수형 상수와 실수형 상수의 표현 자료형 : 정수(int), 실수(double)

    - 접미사를 이용한 상수 표현 방식

          long num1 = 1000000000000L;    //접미사 L은 long형 상수 표현을 의미

          float num2 = 12.45F;              //접미사 F는 float형 상수 표현을 의미

형 변환

    - 연산 시 4 바이트 int 로 계산 후 short 형으로 변환될 수 있음

    - int형도 float으로 변환되기도 한다.

    형 변환 규칙

명시적 형 변환

    - 자동 형 변환의 규칙에 위배되지만 변환이 필요한 상황

    long num1 = 2147483648L;

    int num2 = (int)num1;

    - 자동 형 변환 발생지점의 표시

    int num3 = 100;

    long num4 = (long)num3;


4. 연산자(Operator)


이항 연산자

대입 연산자, 산술 연산자

연산자 우선순위


복합 대입 연산자 : +=    -=    *=    /=    %=

관계 연산자 : <    >    <=    >=    ==    !=

논리 연산자 : &&    ||    !

SCE 연산(최단거리 연산) : 두 인자중 뒤쪽의 값이 결과에 영향을 미치지 않으면 뒤쪽 인자에 쓰여진 수식은 실행되지 않음

단항 연산자 : ++    -- : 앞쪽에 쓰면 해당 행 실행 이전에, 뒤쪽에 쓰면 해당 행 실행 이후에 실행됨


비트 연산자

    & : 비트 단위 AND

    | : 비트 단위 OR

    ^ : 비트 단위 XOR

    ~ : 모든 비트 반전

비트 쉬프트(shift) 연산자 : 피연산자의 값을 참조하여 새로운 값을 만들어냄, 피연산 변수의 값이 변하지는 않는다.

    << : 비트 열을 왼쪽으로 이동, 빈 공간은 0으로 채움 : 예) b1 << 2; 2 << 1

    >> : 비트 열을 오른쪽으로 이동, 음수는 빈공간을 1, 양수는 0으로 채움

    >>> : 비트 열을 오른쪽으로 이동, 빈공간을 0으로 채움

    ※ 비트 열 왼쪽 이동은 2의 배수의 곱, 오른쪽 이동은 2의 배수의 나눗셈, 곱셈/나눗셈보다 cpu 부담이 적음

'끄적끄적_연습장 > Java' 카테고리의 다른 글

Java - 5. 생성자(Constructor)  (0) 2015.07.29
Java - 4. 객체  (0) 2015.07.28
Java - 3. 메소드  (0) 2015.07.28
Java - 2. 실행흐름의 컨트롤  (0) 2015.07.28
Java - 0. 개발 환경 구성  (0) 2015.01.08