티스토리 뷰
변수와 자료형
변수를 선언할 때, 저장되는 값의 자료형을 선언
메소드를 선언할 때, 반환 값의 자료형을 선언
자료형에 따라 적용 가능한 연산이 다름
변수의 종류
인스턴수 변수 | (클래스 정의에서 static이 아닌 필드) 객체가 소유하는 변수 |
클래스 변수 | (클래스 정의에서 static 필드) 객체가 공유하는 변수 |
지역 변수 | 메소드 내부에서 선언된 변수 |
파라미터 | 메소드 호출 시 전달하는 값을 저장하기 위한 변수 |
변수의 사용 범위
지역 변수와 파라미터
- 선언된 곳부터 해당 블록이 종료될 때까지 유효함
→ 메소드가 실행될 때 만들어지고 끝나면 없어짐
- 지역 변수는 초기값을 지정한 후 사용해야 함
- 지역 변수 선언에서 접근 제어자를 사용하지 않음
데이터 필드(인스턴스 변수 or 클래스 변수)
- 선언된 클래스 내부에서 사용 가능
- 클래스 외부에서의 사용 여부는 접근 제어자(accessmodifier)에 따라 다름
1 2 3 4 | class Circle { protected int radius; … } | cs |
Java의 기본 자료형
분류 | 키워드 | 길이(byte) | 값의 범위 |
문자 | char | 2 | ‘\u0000’~‘\uFFFF’ |
논리 | boolean | 1 | true또는 false |
정수 | byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int | 4 | -2³¹ ~ 2³¹-1 | |
long | 8 | -263 ~ 263-1 | |
실수 | float | 4 | (+/-)약1.4E-45~3.4E38 |
double | 8 | (+/-)약4.9E-324~1.8E308 |
리터럴
상수
- 리터럴(실제 데이터 값) 또는 값이 변하지 않는 변수
1 | final int nConst =3 ;// 선언 시 초기 값을 지정 | cs |
정수형 리터럴
- byte,short,int,long
- l이나 L로 끝나면 long형, 나머지는 int
* byte와 short는 허용 범위 안에서 int와 호환됨
- 26L,26, 0b11010, 032,0x1a
실수형 리터럴
- 소수점이 있는 숫자
- f나 F로 끝나면 float형, 나머지는 double형
- 123.4f, 123.4, 1.234e2
문자형 리터럴
- 1개의 문자를 표현하고 16비트 UNICODE로 인코딩됨
- 단일 따옴표를 사용하고 Unicode사용 가능
* ‘\u0000’~ ‘\uFFFF’
* (0~65536)의 수와 호환됨
- (char)65, ‘A’, ‘\u0041’, ‘가’, ‘\uAC00’
참조형
기본형을 제외한 모든 자료형
- 참조 값(주소)을 가지는 자료형
배열, 클래스 형 등
1 2 3 | int anArray[ ]; Circle myCircle; String szStr; | cs |
참조형 변수는 저장 공간에 참조 값을 저장함
- 실제 데이터는 별도의 공간에 저장됨
기본형 변수는 저장 공간에 값 자체를 저장함
형변환
묵시적 자료형의 변환
- 작은 타입에서 큰 타입으로는 자동 형변환
* byte > short > int > long > float > double
* 개발자 > 직원 > 인간 > 포유류
1 2 3 | double d = 5; // 대입문 System.out.println(“j = ” + 10); // 수식 double res = Math.sqrt(2); // 메소드호출 | cs |
명시적 자료형의 변환
- 큰 타입에서 작은 타입으로 변환할 때는 명시적 형변환이 필요
* 문법은 (자료형)피연산자
1 | float f = (float)5.5; | cs |