[Do it! 자바 프로그래밍 입문]변수와 자료형
업데이트:
컴퓨터에서 데이터 표현하는 법
- 컴퓨터는 0과 1로만 데이터를 저장 함
- bit : 컴퓨터가 표현하는 데이터의 최소 단위로 2진수 하나의 값을 저장할 수 있는 메모리의 크기
- byte : 1byte = 8bit
int num = 10; (10진수)
int bNum = 0B1010; (0B = 2진수)
int oNum = 012; (0 = 8진수)
int hNum = 0XA; (0X = 16진수)
2진수에서 음의 정수 표현하는 방법
- 양수에 대해서 2의 보수를 취한다.
우선 1의 보수를 취한 후, 1을 더한다.
EX) 00000101 = 5
11111010 + 1
11111011 = -5
// int 32bit
int num1 = 0B00000000000000000000000000000101;
int num2 = 0B11111111111111111111111111111011;
int sum = num1 + num2;
System.out.println("num1 : " + num1);
System.out.println("num2 : " + num2);
System.out.println("sum : " + sum);
변수란?
변수 : 변하는 수
변수를 사용하게 되면 변수의 값이 저장될 공간(메모리)이 생기게 되는데,
변수는 그 공간의 주소 대신 부르는 이름이다.
변수 선언 시 주의점
- 변수의 이름은 알파벳,숫자,_,$로 구성된다.
- 대소문자를 구분한다.
- 숫자로 시작할 수 없고, 키워드를 사용할 수 없다.
- 이름 사이에 공백이 있을 수 없다.
문자 인코딩
컴퓨터에서는 문자도 내부적으로는 비트의 조합으로 표현한다.
자바에서는 문자를 2바이트로 처리한다.
인코딩 : 각 문자에 따른 특정 숫자 값을 부여
디코딩: 숫자 값을 원래의 문자로 변환
아스키 : 1바이트로 영문자, 숫자, 특수문자 등 표현
유니코드 : 한글과 같은 복잡한 언어를 표현하기 위한 표준 인코딩(UTF-8, UTF-16)
문자를 변수에 저장할 때 문자에 해당하는 코드 값이 저장되는데, JAVA는 유니코드 UTF-16을 사용한다.
자료형 없이 변수 사용하기 (자바10부터)
- 자료형이 필요한 이유
변수를 선언 할 때 변수가 사용할 메모리 크기와 타입을 구분하기 위해 사용한다.
지역 변수 자료형 추론 :
변수에 대입되는 값을 보고 컴파일러가 추론.
EX) var num = 10; -> int num = 10;
var dNum = 10.0; -> double dnum = 10.0;
var str = “hello”; -> String str = “hello”;
주의
스크립트언어와 다르게 한 번 타입이 정해지면 타입을 변경할 수 없음. 지역 변수에서만 사용 가능
상수
상수 : 변하지 않는 값
상수는 대문자로 표현한다.(규칙)
리터럴
리터럴 : 프로그램에서 사용하는 모든 숫자, 값, 논리 값
- 리터럴에 해당되는 값은 특정 공간인 상수 풀(
Constant pool
)에 있다. - 필요한 경우 상수 풀에서 가져와서 사용한다.
- 상수 풀에 저장할 때 정수는 int, 실수는 double로 저장된다.
- long, float 값으로 저장해야 하는 경우
식별자
(L,l,F,f)를 명시해야 된다.
형변환
서로 다른 자료형의 값이 대입되는 경우 형 변환이 일어난다.
묵시적 형변환 : 작은 수에서 큰 수로, 덜 정밀한 수에서 더 정밀한 수로 대입되는 경우
명시적 형변환 : 큰 수에서 작은 수, 정밀한 수에서 덜 정밀한 수로 대입되는 경우
주의
변환 되는 자료형을 명시해야되며, 자료의 손실이 발생할 수 있음.
공유하기
Twitter Google+ LinkedIn
댓글남기기