자바공부하기 39

 

형 변환 (casting)

 

때로 숫자 타입을 다른 타입의 숫자로 바꾸어야 할 때가 있다.

기본데이터 타입의 형 변환

- 작은 수가 큰 수로 형 변환되는 것이 자동이다.(묵시적)

* 반대의 경우는 강제 형 변환이 필요(명시적) - 오버플로우 발생

- 덜 정밀한 수가 정밀한 수로 형 변환되는 것은 자동이다.(묵시적)

* 반대의 경우는 강제 형 변환이 필요(명시적) - 오버플로우 발생

 

데이터 타입의 연산에 의한 형 변환

- 큰 수와 작은 수를 연산했을 때

* 큰 수로 형 변환된다.

- 덜 정밀한 수와 정밀한 수를 연산했을 때

* 정밀한 수로 형 변환된다.

- 정수와 실수를 연산했을 때

* 실수형으로 형 변환된다.

- 자동형 변환의 예 double d= 3*4.5F;

* 3*4.5F의 결과는 float형이 된다.(정수와 실수의 연산)

* float형의 결과가 double d에 할당되면서 float형이 double형으로 자동 형 변환된다.

 

 

JAVA공부하기 38

 

할당

 

변수에 데이터를 넣는 것

- 기본타입에서 할당은 "Copy of value"

 

기본 법칙

- 오른쪽에서 왼쪽으로만 할당

- 변수끼리 할당 가능

- 변수에 상수가 존재하더라도 다른 것을 할당하면 마지막 할당한 것이 할당 " = " 연산자 사용

 

할당의 예

- 선언과 할당을 동시에 : int a=100;

- 선언과 할당을 분리 : inta;a=100;

- 여러 개를 동시에 선언과 할당 : int a =100, b=200;

- 분리하여 여러 개를 동시에 선언과 할당 : inta, b; a=100, b=200;

- 변수끼리의 할당 : int a=100,b; b=a;

 

 

 

JAVA공부하기 37

 

상수 예제 1번

 

 

 

 

상수 예제 2번

 

java공부하기36.

 

상수

- 미리 정해진 실제의 값

- 상수 자체가 수이며 이미 만들어져 있는 것

- literal이라 부르기도 함

- 상수는 그 자체가 값이기 때문에 변경할 수 없음.

(5=100 -> 오류)

- 변수에 저장되지 않으면 쓸모가 없다.

- 변수를 상수로 만들 수도 있다.(public final int a=100;)

 

상수의 종류

- 정수형 상수의 구분

: 100; 명시하지 않으면 int형 상수- default

: 100L, 100l : long형 상수

 

- 실수형 상수의 구분

: 5.34 : 명시하지 않으면 double형 상수 - default

: 5.34F, 5.34f : float형 상수

: 5.34D, 5.34d : double형 상수

 

 - 문자 상수의 예

: 'A','B'

 

- 문자열 상수의 예

: "abcd","안녕하세요"

 

 

 

자바공부하기 35

변수

 

변수란?

- 데이터 타입에 명시된 형태의 데이터를 담을 수 있는 메모리이다.(그릇)

- 변수는 데이터 타입을 통해 존재할 수 있다.

- 변수는 데이터를 보관하기 위해서이다. ( <- 변수의 목적 )

- int a=5;

: 4바이트 메모리 확보(정수형)

: 메모리의 주소에 a라는 이름을 메핑시킴

: a라는 변수를 통해서 해당 메모리에 5라는 값 할당

: 32비트 정수형 데이터가 스택 메모리에 저장

 

 

 

자바공부하기 34

데이터타입의 두번째 목적

 

- 메모리의 형태를 지정하는 것이다.

: 메모리의 형태란 비트의 조합을 말한다.

: int 정수 형이다.

 

- 다시 마라해 데이터 타입이란 메모리의 크기(size)와 메모리의 형태(type)를 지정하는 것이라 정의할 수 있다.

: int a; //4 바이트 메모리 생성, 정수 형태의 메모리

: char c; //2 바이트 메모리 생성, 정수 형태의 메모리

: float f; //4 바이트 메모리 생성, 실수 형태의 메모리

 

심볼 테이블

- 컴파일러가 프로그램 내에 필요한 변수들을 주소로 매핑하기 위해 만드는 심볼들의 테이블

 

 

 

 

 

자바공부하기 33

데이터타입

 

메모리를 얻는 방법

- int a;

: 4바이트 메모리를 얻는다

: 얻은 메모리의 주소(위치)를 받아낸다

: 메모리 위치를 a라는 이름과 연결시켜 준다

 

데이터 타입은 메모리를 얻기 위한 하나의 수단으로 활용

 

데이터 타입은 (메모리의)크기(size)이다. (VM이 미리 정해놓은)

 

자바의 기본 데이터 타입

- 컴파일러 차원에서 미리 제공되는 데이터 타입을 기본 데이터 타입이라 한다.

 

- byte(1),char(2),short(2),int(4),long(8),float(4),double(8)

: byte: 8비트, 2의 보수(-128~127)

: short: 16비트 (-32768~32767)

: char: 16비트, 유니코드(0~65535)

: int: 32비트(-2147483648 ~ 2147483647)

: long: 64비트 (-9223372036854775808~9223372036854775807)

: float: 32비트

: double: 64비트

: boolean: true, false

 

 

JAVA공부하기 32

데이터타입

 

데이터 타입이란?

: 프로그래머가 메모리를 얻어올 때 그 크기를 지정한다는 의미

 

메모리를 얻고 사용하는 절차

: 필요한 메모리의 크기를 정한다.

: 크기에 해당하는 만큼의 메모리를 얻는다

: 메모리에 데이터를 집어 넣는다.

 

만약 4바이트의 메모리를 프로그래머가 얻어낸다는 것은 어렵기 때문에 메모리의 크기를 미리 지정하는것이 데이터 타입니다.

 

데이터 타입을 이용하면 효과적인 메모리 활용이 가능하다.

 

 

 

+ Recent posts