10.18.(화) Java-02: 자료형
1. 자료형
Java는 데이터의 자료형에 매우 엄격한 언어이다. 따라서 코드를 작성할때, 각 데이터의 자료형에 따라 할 수 있고 없고가 결정된다.
우선 데이터의 가장 큰 분류는 숫자와 문자로 나뉜다.
1-1) 숫자
숫자도 종류가 엄청 많지만, 프로그래밍 언어에선 딱 두 가지로만 나눠서 인식하기로 했다: 정수형, 실수형.
정수형은 1, 10, 100, 1000과 같이 온전히 숫자로 표현되는 형태다.
실수형은 정수 사이사이에 존재하는 수많은 소수점들을 모두 포함한 형태라고 보면 된다. ex) 3.14, 1.5, 2.3
1-2) 문자
문자도 두 가지로 나뉜다: 문자형, 문자열형.
문자형은 글자가 한개만 존재할때(letter) 문자형으로 인식된다. ex) A, 가, $
문자열형은 말 그대로 문자들이 나열된 형태(word)를 말한다. ex) Hello_World, 안녕하세요, 1000%
2. 자바의 자료형
이제 분류된 데이터들에게 정의를 내려줄 수 있는 자바의 자료형을 알아보자.
2-1) 정수형
정수형의 데이터에게는 4가지의 자료형이 붙을 수 있다: byte, short, int, long
이 순서대로 표현할 수 있는 정수의 범위가 다르다. 기준은 컴퓨터가 이해하는 0과 1로 이루어진 2진법으로 정해지는데,
byte는 8bit, 즉 2진법으로 8자리까지 표현할 수 있다. 00000000부터 11111111까지인데, 음수와 0을 포함 범위는 -128부터 127이다.
short는 2 byte이므로 2진법 16자리까지다. -32768부터 32767까지.
int(integer:정수)는 4 byte로 범위는 대략 -21억부터 21억까지다. 정수자료형 중에서는 가장 보편적으로 쓰인다.
long은 8 byte로 가장 큰 범위를 커버하지만 숫자 끝에 알파벳L을 붙여줘야하는 특수한 조건이 따라붙는다.
byte a=10;
short b=129;
int c=500;
long d=6580L;
2-2) 실수형
실수형은 2가지의 자료형이 있다: float, double
float는 4 byte의 크기를 가지고 있고, long과 비슷하게 숫자 끝에 알파벳F가 붙어야 인식된다.
double은 8 byte이면서 가장 큰 범위를 표현할 수 있고, 특수한 조건 없이 바로 사용하면 된다.
float e=45.5f;
double f=120.40;
2-3) 문자형
문자형 char(character:문자)는 2 byte의 크기를 가지고 있다. 그리고 char의 특징이라면 데이터를 감싸는 따옴표가 무조건 홀따옴표를 써야한다는 점이다. 그리고 또한, 문자 하나하나를 표현하는 자료형이기 때문에, 이후에 연산을 해줄때는 아스키코드에 의해서 문자들이 숫자로 치환되어 계산된다.
char x='A';
char y='김';
2-4) 문자열형
문자열형 자료형은 String이다. Java의 특징 중 하나는 대소문자를 엄격하게 구분한다는 점인데, String이 이에 해당된다.
String의 크기는 무제한이다. 한 글자를 써도, 한 문장을 써도 상관없이 표현 가능하다.
String str1="Hello Java";
String str2="안녕하세요";
String str3="Hi";
2-5) 논리형
마지막으로 논리형인 boolean이 있다. boolean은 참/거짓 두 가지밖에 데이터가 없으며, 출력했을때 true/false로 나타난다. 숫자로 표현하면 1(true)/0(false)라고 할 수 있다.
boolean b1=true;
boolean b2=false;
※변수 규칙
변수의 이름을 정할때 몇 가지 규칙이 있다. 규칙에 어긋나게 변수이름을 정하면 컴퓨터가 받아들이지 못 하고 에러가 나게된다.
- 영문자와 숫자로 만들고, 첫 글자는 무조건 영문자 ex) sum1, value4, grade3
- 특수문자 사용불가, 단 _(밑줄)은 예외 ex) apple_price, app_user, min_avg
- 예약어(명령어) 사용불가 ex) main, System
- 문자 사이 공백 불가
- 대소문자 구분
- 길이 32자 이내