Chapter02. 변수와타입
Published:
변수와 타입
체크리스트
- 변수에 대해서 설명하시오. 변수란 하나의 값을 저장할수 있는 메모리 공간이다
- 변수 이름으로 적절하지 않은 예를 드시오. 번호로 시작되거나, _기호로 시작되는 변수 이름은 사용 할수 없다.
- 기본 타입 8개를 나열하시오. byte, short, char, int, long, float, double, boolean
- 리터럴을 설명하시오. 리터럴이란, 변수에 배당되는 특정값을 말한다.
- 자동 타입전환시 유의점을 설명하시오. char와 int는 자동변환이 가능하고, char타입은 양수값만 자동변환가능하다.
- 강제타입 변환시 유의점을 설명하시오. 캐스팅()연산자 사용하고, 기존값을 상실할수 있다.
- 연산식에서 타입 변환시 유의점을 설명하시오. 연산시 크기의 타입이 큰 타입으로 자동 변환된다.
변수
: 변수란, 하나의 타입을 갖는 하나의 값을 저장할 수 있는 메모리 공간이다.
- 변수 선언
int a,b,c;
규칙 - 첫글자는 문자, ‘$’,’_ ‘ 로 시작할수 있고, 숫자와 대문자로 시작할수없다. 자바 예약어는 변수 이름으로 사용 할 수 없다.
자바 예약어 - int, string, boolena class, new , void , return 등등 - 변수 사용법
int score = 100;
변수의 타입, 이름, 값을 지정하여 동시에 선언 할수있다. - 정수 리터럴
리터럴이란 변수에 직접 입력된 값을 리터럴이라고 한다.
10진수 -33,-10,0
8진수 -03, -09
16진수 -0x3, 0xC, 0xB3C
- 실수 리터럴
10진수 --0.125, 3.14
10진수와 기수 -7E3 //7 X 10에 3승
- 문자 리터럴
‘작은따옴표’로 묶은 글자를 문자 리터럴 이라고 한다.
'한','글'
/슬래쉬가 있는 문자는 이스케이프라 불리는 특수 문자이다.
'/t','/n' // t는 탭, n은 줄바꿈 등 다양한 이스케이프가 있다.
- 문자열 리터럴
“큰따옴표”로 묶은 문자열이다.
"한글","대한민국"
- 논리 리터럴
논리 리터럴은 boolean 타입 하나만 존재한다.
true, false
- 변수값 초기화
변수는 생성된후 값을 가지고 있어야 하는데 이것을 초기화라고 한다.
` int init = 10; //init변수 선언후 초기화<br>
int sum = init + 5; //sum 변수 선언후 init값을 사용한 연산`
init값이 없다면 init변수를 가지고 연산을 할수 없다. 컴파일 에러가 발생한다. - 변수 사용 범위
변수는 선언된 블록내에서만 사용이 가능하다.
if(){ 여기 중괄호 안에서 선언되고 사용 가능 }
while(){ 여기 중괄호 안에서 선언되고 사용 가능 }
데이터 타입
:변수 타입에 따라 저장할 수 있는 값의 종류와 범위가 다르다.
기본원시 타입
정수 - byte > char > short > int > long 크기순
실수 - float > double 크기순
논리 - true, falsebyte 타입 bit - 0과 1을 저장하는 최소 기억단위이다.
byte - 8개의 bit를 묶은 단위이다.
범위초과 - bit는 -128 ~ 127 까지의 정수를 저장할수 있고, 이범위를 넘을 경우, 예를들어 128 값을 넣을 경우 -128이란 값이 저장된다.char 타입
모든 문자는 유니코드값을 갖는다.
char a = 'A' //변수 a값은 65이다.
문자열값을 저장시 String 객체를 사용하여 저장한다.
Stirng s = "크리스마스";
빈 값으로 변수값을 초기화할시Space
바를 쳐서 빈공백을 만들어준다.
char b = ' '
short 타입
2byte(16bit)로 정수값을 저장하는 타입이다.
C언어와 호환 가능하다.int 타입
4byte(32bit)로 정수값을 저장하는 타입이다.
일반적으로 정수타입은 int타입을 사용한다. (byte,short타입사용시 값의범위가 넘으며 int타입으로 변환된다.)
int타입 10진수 -int number = 100
int타입 8진수 -int octNumber = 024
int타입 16진수 -int hexNumber = 0xB
long 타입
8byte(64bit)로 정수값을 저장한다.
long타입 변수를 초기화 할때 ‘l’이나 대문자’L’을 붙여준다.
long value = 10000000000000L
실수 타입 float & double
소수점을 사용하는 타입의 종류는 두가지가 있다.
float은 4byte, double은 8byte를 사용한다.
float타입은 값을 초기화할때, ‘f’나 ‘F’를 붙여준다.
10의지수를 나타내는 ‘e’나’E’가 있는 정수값은 float, double에 값을 할당 할 수있다.(int는 안된다.)논리 boolean 타입
true와 false값을 할당한다.
boolean oneOfTwo = true
타입 변환
타입크기 순서 - byte(1) > short(2) > long(8) > float(4) > double(8)
- 자동 타입 변환
작은크기를 가지는 타입이 큰크기의 타입으로 저장될 때 발생한다. (int <- byte, long <- int 처럼.. )
char 타입은 유니코드 값의 int로 자동 변환할 수 있다.
char 타입은 양수로 되어있기 때문에 음수값을 가진 변수를 타입 변환 할 수 없다.
*다른 타입끼리의 연산시 연산후 저장될 변수 타입에 맞추어 자동 변환 된다. * - 강제 타입 변환
강제적으로 큰크기 타입을 쪼개어 작은 크기의 타입에 저장하는 방법이다.(byte <- int)
캐스팅이라고 불린다
()캐스팅 연산자를 사용하여 쪼갤 단위를 지정한다.
int타입은 char로 캐스팅할수 있다.
기존 값을 상실할수 있기 때문에 정밀도 손실체크를 해주어야 한다.
- 자동 타입 변환