Java/정리

변수와 자료형

낭구리 2021. 8. 18. 16:52

data란?

사실을 나타내는 수치입니다. 기온, 습도, 날씨, 문자, 문자열 등등 각각의 수치들이 데이터가 됩니다.

컴퓨터의 주요 부품

CPU (central processing unit)

RAM (Random Access Memory)

HDD ( Hard disk drive)

컴퓨터의 자료 표현 방식

컴퓨터는 0과 1로만 데이터를 저장함

bit(1비트) : 컴퓨터가 표현하는 데이터의 최소 단위로 2진수 하나의 값을 저장할 수 있는 크기

byte(바이트) : 1byte = 8bit

2진수와 10진수

1byte(8비트)로 5를 나를 표현해 봅시다.

변수(Variable)란?

● 값(Value)을 저장할 수 있는 메모리의 공간을 의미합니다.

● 이름에서 유추할 수 있듯이 변수는 말 그대로 '변하는 수' 입니다.

변수는 언제 쓰나요?

● 프로그램에서는 항상 변하는 값을 나타낼 필요가 있음 ( ex. 학생의 성적, 합계, 게임의 레벨, 회원 주소 등등...)

● 표현하려는 수에 맞는 데이타 타입(자료형)을 이용하여 변수를 선언

public class Variable {

	public static void main(String[] args) {
		// 선언
		int age;
        int count;
		// 초기화
		age = 20;

		// 선언과 동시에 초기화
		int level = 10;
		
		
		// 화면에 출력 
		System.out.println(age);
		System.out.println(level);
		//System.out.println(count);

	}
}

변수의 이름 규칙

1. 대소문자가 구분되며 길이에 제한이 없다.

- Name과 name은 서로 다른 것으로 간주된다.

2. 자바에서 사용하는 예약어는 사용할 수 없다.

- while, break, for, if

3. 숫자로 시작해서는 안 된다.

- top10은 허용하지만, 7up은 허용되지 않는다.

4. 특수문자는 '_', '$'만을 허용한다.

자료형(data type)

변수를 선언하면 해당되는 자료형의 크기 만큼 메모리가 할당

변수는 할당된 메모리를 가리키는 이름 int level = 10;

// 4바이트 정수형 메모리가 level 이라는 이름으로 할당 됨

기본 자료형(primitive data type)의 종류

정수 자료형의 종류와 크기

● 32 비트를 초과하는 숫자는 long 자료형으로 처리 (+,- 약 21억)

long

8바이트 자료형

숫자의 뒤에 알파벳 L 또는 l 을 써서 long 형임을 표시 함

예) int num = 12345678900; // 오류

long lnum = 12345678900; //오류

long lnumber = 12345678900L; // ok

실수 자료형의 종류와 크기

public class DoubleTest {

	public static void main(String[] args) {
		double dnum = 3.14;
		float fnum = 3.14F;

		System.out.println(dnum);
		System.out.println(fnum);
	}
}

문자 자료형

문자를 저장하기 위한 변수를 선언할 때 사용.

char 타입의 변수는 단 하나의 문자만을 저장할 수 있다.

char ch = 'A'; // 문자 'A'를 char 타입의 변수 ch에 저장

사실은 문자의 유니코드(정수)가 저장된다.

어떤 문자를 컴퓨터 내부에서 표현하기 위해 특정 정수 값을 정의해 둔다.

A 는 65

문자세트 : 각 문자를 얼마로 표현할 것인지 코드 값을 모아둔 것문자세트(charater set)라 함

(ex. ASKII, euc-kr, utf-8, utf-16)

자바는 문자를 나타내기 위해 전세계 표준인 UNICODE를 사용

utf-16 인코딩을 사용 (모든 문자를 2바이트로 표시)

문자형 변수 선언과 사용하기

문자를 위한 데이터 타입 char ch1 = 'A'; ( 문자와 문자열은 완전 다른 타입 입니다 "ABCD" )

내부적으로 숫자료 표현되므로 숫자를 넣어도 문자가 출력될 수 있음

char ch2 = 65;

public class CharacterTest {

	public static void main(String[] args) {

		char ch1 = 'A';
		System.out.println(ch1);
		System.out.println((int) ch1);

		char ch2 = 66;
		System.out.println(ch2);
		System.out.println((int) ch2);

		char ch3 = 67;
		System.out.println(ch3);
		System.out.println((int) ch3);

		// char ch4 = -68; 음수는 대입 불가

		char ch5 = '한';
		System.out.println((int) ch5);

	}

}

참고

● character set: 문자를 숫자로 변환한 값의 세트 encoding: 문자가 숫자로 변환되는 것

● decoding: 숫자에서 다시 문자로 변환되는 것

● ASKII code: 알파벳과 숫자 특수 문자등을 1바이트에 표현하는데 사용하는 문자세트

● UNICODE: 전 세계 표준으로 만든 문자 세트

● UTF-8: 1바이트에서 4바이트까지 다양하게 문자를 표현할 수 있음

● UTF-16: 2바이트로 문자를 표현

논리형 자료형

true(참), false(거짓) 두 가지만 나타냄

1바이트를 사용 함

값이 존재하는지, 결과가 참인지 거짓인지등을 표현

 

public class BooleanTest {

	public static void main(String[] args) {
		
		boolean isMarried = true; 
		System.out.println(isMarried);
	}

}

'Java > 정리' 카테고리의 다른 글

연산자2  (0) 2021.08.19
Contant(상수)  (0) 2021.08.19
프로젝트 실행  (0) 2021.08.18
02프로그램설치  (0) 2021.08.18
자바의 소개  (0) 2021.08.18