본문 바로가기
JAVA

JAVA(변수)

by 글로리. 2020. 5. 28.

01. 컴퓨터의 데이터 단위

  • 컴퓨터에 저장될 수 있는 데이터는 이진수형태로 0 아니면 1로 구성

1) bit : 이진수 값 1개를 의미.

  • 1bit는 두개의 정보를 표현 (0 과 1)

  • 2bit는 네개의 정보를 표현 (00, 01, 10, 11)

  • nbit는 2의 n제곱 개의 정보를 표현

    (2, 4, 8, 16, 32, 64, 128, 256, .....)

2) 인코딩 : 글자를 부호화 하기 위한 규격

ANSI

  • 이진수를 사용하여 알파벳을 부호화하는 미국 표준규격

  • 7bit로 알파벳 한글자 표현

확장 ANSI

  • ANIS에서 다른 언어를 표현하기 위해 1bit를 추가하여 8bit로 한글자를 표현

  • 영어 + 1개국어 표현가능하여 언어별 종류가 나뉨. ex) euc-kr, euc-jp, euc-ch .....

UTF-8

  • 확장 ANSI가 영어 +1개국어 밖에 표현하는 한계를 개선, 언어 종류에 상관없이 3byte로 한글자를 표현

  • 한번에 모든언어 표현가능

  • 현재 산업표준으로 사용됨.

02. 변수: 메모리에 저장된 데이터. 값을 대입하기 위한 메모리영역

1) 데이터 타입(Data Type)

- 자바에서 정수는 int, 실수는 double를 기본값으로 한다.
종류 설명 크기 값 형태
byte -128~127 까지의 범위를 갖는 정수 1byte 1
short byte보다 큰 범위를 저장할 수 있는 정수 2byte 200
int short보다 큰 범위를 저장할 수 있는 정수 4byte 1234567
long int보다 큰 범위를 저장할 수 있는 정수 8byte 생략
float 실수 4byte 3.14
double float 보다 더 정밀하게 소수점 자리를 표현할 수 있는 실수 8byte 3.141592
boolean 참 / 거짓을 표현하는 논리값 1byte true / false (대소문자 주의)
char 한 글자. 홑따옴표( ' )로 감싼다. 1byte 'a' , 'b'

2) 변수 사용하기

변수 선언 : 데이터 타입을 명시하고 그 옆에 변수 이름을 정의.

// 정수형 변수 num
int num;

// 실수형 변수 xyz
double xyz;

// 변수에 값 할당
int num;

num = 123456;

// 한줄로 줄이기
int num = 123456;

// 다른 변수에 복사 가능
int num = 123456;

int x = num;

3) 변수의 규칙

  • 언더바( _ ), 숫자, 영어, $기호만 사용가능(소스코드가 UTF-8인 경우 한글 가능)

  • 첫 글자는 숫자 불가능.

  • 예약어 불가능.

  • 첫 글자는 대부분 소문자.

두 개 이상의 단어를 조합하는 경우

  • 자바의 경우 대부분 카멜표기법 사용
// 스네이크 표기법 : 띄어쓰기를 언더바(_)로 표현
int my_age;

// 카멜 표기법 : 띄어쓰기가 시작되는 단어의 첫글자를 대문자로 변경
int myAge;

4) 문자열 : 쌍따옴표로 감싸진 문장을 저장할수 있는 데이터 타입

  • 다른 데이터 타입과는 다르게 첫글자를 대문자로 표기.
String Message = "Hello World";

5) 변수의 제약

// 선언되지 않은 변수는 사용 불가능.
int x;
x = 100;
y = 200;  // 변수 y 사용불가능.


// 이미 선언된 변수는 중복 선언 불가능.
int z;
z = 100;

int z = 300;  // 중복선언 에러.

6) 변수 값 출력.

// 변수 선언
int x = 100;

System.out.println(x);
System.out.println("x");  // 괄호 안에 쌍따옴표로 입력하면 그대로 출력

// 결과
100
x

'JAVA' 카테고리의 다른 글

JAVA(기본문법 활용)  (0) 2020.06.01
JAVA (조건문, 반복문)  (0) 2020.06.01
JAVA (기본_입출력)  (0) 2020.06.01
JAVA(에러 모음)  (0) 2020.05.29
JAVA (연산자)  (0) 2020.05.28

댓글