티스토리 뷰

변수와 자료형

변수를 선언할 때, 저장되는 값의 자료형을 선언

메소드를 선언할 때, 반환 값의 자료형을 선언

자료형에 따라 적용 가능한 연산이 다름



변수의 종류


인스턴수 변수

 (클래스 정의에서 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 =;// 선언 시 초기 값을 지정
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


공지사항
최근에 올라온 글
Total
Today
Yesterday