변수란?
- 하나의 값만을 가질수 있는 저장공간
변수의 선언
- 변수타입 변수이름;
- 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이면 나머지도 문자열로 변환된뒤 두 문자열을 결합한다.
변수의 기본값과 범위
변수타입 | 설명 | 기본값 | 리터럴 접미사 | 변수의 범위 |
---|---|---|---|---|
boolean | true와 false중에 하나만 저장 | false | false, true | |
char | 유니코드(Unicode) 한문자 저장 | '\u0000' | \u0000~\uffff (0~65,535) | |
byte | 정수값을 저장 | 0 | -128~127 | |
short | 0 | -32,768~32,767 | ||
int | 0 | -2,147,483,648~2,147,483,647 | ||
long | 0L | L , l | -9223372036854775808~9223372036854775807 | |
float | 실수값을 부동소수점으로 저장 | 0.0f | f, F | 1.4E-45~3.4028235E38 |
double | 0.0d | d, 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 |