본문 바로가기

JAVA/Syntax

DataType & Type Casting (Primitive Type)

변수란? 

  • 하나의 값만을 가질수 있는 저장공간


변수의 선언 

  • 변수타입 변수이름;
  • int count;
  • 변수명은 대소문자를 구별한다
  • 변수명은 숫자로 시작해서는 안되며, 특수문자는 '$'와 '_'만 허용한다.


변수의 타입종류와 크기


기본형
Primitive type
논리형boolean
1btye
   
문자형 char
2byte
  
정수형byte
1byte
short
2byte
int
4byte
long
8byte
실수형  float
4byte
double
8byte
참조형 
Reference type
기본형을 제외한 나머지 타입
4byte
 


문자형 - char 

  • 유니코드(Unicode)문자 1개를 저장한다.
  • 특수문자 저장시 아래와 같이 표현한다.
  • \t(tab), \b(backspace), \f(form feed), \n(new line), \r(carriage return), \\(역슬래쉬), \'(작은따옴표), \"(큰따옴표), \u0000(16진수 유니코드)


문자열 - String 

  • 2개 이상의 문자열을 저장하기 위하여 스트링(String) 클래스를 사용
  • String은 클래스이지만 new 연산자 없이 변수 = "문자열"; 형태를 허용한다.
  • 덧셈연산자 중에 어느 한쪽이 String이면 나머지도 문자열로 변환된뒤 두 문자열을 결합한다.


변수의 기본값과 범위
 

변수타입설명기본값리터럴 접미사변수의 범위
booleantrue와 false중에 하나만 저장false false, true
char유니코드(Unicode) 한문자 저장'\u0000' \u0000~\uffff (0~65,535)
byte정수값을 저장0 -128~127
short0 -32,768~32,767
int0 -2,147,483,648~2,147,483,647
long0LL , l-9223372036854775808~9223372036854775807
float실수값을 부동소수점으로 저장0.0ff, F1.4E-45~3.4028235E38
double0.0dd, D, 생략가능4.9E-324~1.7976931348623157E308
참조형객체의 주소를 저장null 0x0~0xffffffff




형변환(Casting)이란? 

  • 변수나 리터럴을 다른타입으로 변환


형변환 방법 

  • 형변환 하고자 하는 변수나 리터럴 앞에 변환하고자 하는 타입을 괄호와 함께 적어준다.
  • 형변환은 기본형의 boolean만 제외하고 기본형은 기본형끼리, 참조형은 참조형끼리만 변환이 가능하다.
  • 형변환시 작은범위에서 큰범위로의 변환은 자료 손실이 없으므로 캐스트 연산자를 생략가능하지만, 그반대의 경우는 반드시 명시해주어야 한다.


자동형변환이 가능한 방향 

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

 


-------------------------------------------------------------------------------

데이터를 형태나 크기에 따라 구분한 것이다.

두가지 데이터 타입으로 나눌 수 있다.


기본 데이터 타입 (Primitive) : 언어차원에서 제공.

정수 : byte , short , int ,long

실수 : double, 

문자 : char

논리 : boolean

-> Type Casting 그닥 중요하지 않은 !!

참조 데이터 타입 (Reference) : 사용자 정의 (User Definded) 클래스 / 객체 등

: 여러개의 값이 합쳐져서 하나의 값을 표현한다. < 속성이 합쳐져서 객체가 된다. >


Literal value : primitive type(8) + String(1)

리터럴이란, 컴파일시 프로그램 내에 정의되어 있는 그대로 정확히 해석되어야 할 값을 의미한다. 이에 비해, 변수란 프로그램의 실행 중에 상황에 따라 다른 값들을 표현할 수 있으며, 상수는 프로그램 실행 중 늘 같은 값을 표현한다. 그러나 리터럴은 명칭이 아니라, 값 그 자체이다. 예를 들어 아래의 수식에서 "x"는 변수이며 "7"은 리터럴이다.

x = 7

리터럴은 숫자 뿐 아니라, 문자 또는 문자열일 수 있다.




1byte = 8bit  = 256

2byte = 16bit = 65536

4byte = 32bit = 4294967296

8byte = 64bit = 18446744073709551616

-> Type Casting 매우 중요하다!!!!!








정수의 기본형 : int

실수의 기본형 : double


double은 정확한 계산에 사용하기에 적합하지 않다.


형변환 !( Type Casting )

up casting : 작은 type -> 큰 type [자동으로 JVM이 해줌 ].

down casting : 큰 type -> 작은type [ 강제로 형 변환을 해주어야 한다.]

int i = 20L;

형변환이 안됨!!!

때문에, int i = (int) 20L; 해야 한다.



반응형

'JAVA > Syntax' 카테고리의 다른 글

제네릭스(Generics)  (0) 2015.02.09
가변인수 (String... args) JDK1.5  (0) 2015.02.06
HashMap 이용한 CustomerService 구현하기  (0) 2015.02.06
접근제한자 (Access Modfiier)  (0) 2015.02.06
java.util.Date && java,util.GregorianCalendar  (0) 2015.02.05