상세 컨텐츠

본문 제목

[JAVA] 자바 기초 "데이터 타입"

JAVA/Java 기초

by 미로910 2024. 4. 12. 16:07

본문

#데이터 타입이란?

- 자바에서 데이터 타입(자료형, Data type)은 어떤 값의 유형을 뜻한다.

- 데이터 타입에 따라 값이 차지하는 메모리 공간의 크기와, 값이 저장되는 방식이 결정된다.

- 데이터 타입은 자료형이라고도 한다.

 

 

 

-  우리가 어떠한 데이터를 저장해 두거나 연산 시켜 결과를 담아 두고 싶다면 메모리 공간을 어딘가에 만들어 두어야 함.

package basic.ch01;

/**
 * 데이터 타입이란
 * 상자에 들어 갈 수 있는 값의 유형과 크기를 지정하는 것 
 */
public class DataType1 {

	// 코드의 시작점 
	public static void main(String[] args) {
		
		// 데이터 타입에 종류 
		// 1. 기본 자료형 (primitive data type) 
		// 2. 참조 타입 (Reference type) 
		
		
		// 기본 자료형 
		// [정수형, 문자형(문자열x), 실수형, 논리형 ]  4가지로 구분 하자. 
		
		// 정수형 - 정수는 소수점 이하를 포함하지 않는 숫자를 의미 합니다. 
		// 1, 2 -5, 100 등은 모두 정수 입니다. 
		
		byte byteBox;     // 1바이트  -> 네모칸 한칸은 1bit --> 8bit --> 1byte;  
		short shortBox;   // 2바이트  -> 16bit -> 2byte 
		int intBox;       // 4바이트  -> 32bit 
		long longBox;     // 8바이트  -> 64bit 
		
		
		// 위 상자들은 정수값을 담을 수 있는 상자인데 크기가 정해져 있다. 
		byteBox = -128;
		byteBox = 127; //
		
		shortBox = -32768; 
		shortBox = 32767;
		
		// 약+- 21억까지 사용 가능 하다.  
		intBox = -2147483648;
		intBox = 2147483647;
		
		// 약 경까지 			
		longBox = -9223372036854775808L; //숫자 마지막에 L은 접미사라고 합니다.  
		longBox = 9223372036854775807L;  //int 값이 아니라 long 값이라고 표시 용도이다. 
		
		// L value = R value 
		// 보통 오른쪽에 기술 되는 수의 기본 단위는 4바이트 크기인 int 형으로 먼저 인지한다.
		// 정수형에 기본 연산 단위는 int형 이다. 
		
		
	} // end of main 

} // end of class

 

#데이터 타입 : 상자에 들어 갈 수 있는 값의 유형과 크기를 지정하는 것

 

# 데이터 타입에 종류

   1. 기본 자료형 (primitive data type)

   - 정수형, 문자형(문자열X), 실수형, 논리형

   - 정수형 : 정수는 소수점 이하를 포함하지 않는 숫자를 의미.

   - 정수형에 기본 연산 단위는 int형이다.

    

  2. 참조 타입 (Reference type)

 


#byte와 bit란?

Bit(비트):

  • 컴퓨터의 최소 데이터 단위.
  • 이진수(0 또는 1)로 표현되는 정보의 단위.
  • 1비트는 2가지의 상태를 나타낼 수 있음. 예를 들면, 스위치가 켜져있는지(1) 꺼져있는지(0)를 나타낼 수 있음.
  • 컴퓨터의 모든 데이터와 명령은 이진수로 표현됨. 이진수의 각 자리는 비트에 해당된다.
  • 물리적인 단위

Byte(바이트):

  • 8개의 비트로 이루어진 데이터 단위. (8bit = 1byte)
  • 1바이트는 일반적으로 컴퓨터에서 문자, 숫자, 기호 등의 하나의 문자를 나타내는 데 사용됨.
  • 예를 들어, 영문 알파벳 한 글자는 보통 1바이트로 표현된다.
  • 논리적인 단위

>> bit는 정보의 최소 단위이고, byte는 데이터를 저장하고 표현하는 데 사용되는 더 큰 단위임.

 

 


#char 자료형의 이해

- 컴퓨터의 문자를 표현하고 처리하기 위해 문자표가 사용된다. 

- 문자표는 ASCII (American Standard Code for Information Interchange), Unicode, UTF-8, UTF-16 등의 형식으로 구성.

  • ASCII는 초기에 사용되었던 문자 인코딩 방식 중 하나로, 주로 미국에서 사용됨.
  • Unicode는 전 세계의 모든 문자를 나타내기 위해 설계된 표준 문자 인코딩 시스템이다.
  • UTF-8은 Unicode의 문자를 효율적으로 인코딩하는 방식 중 하나이다. 1바이트에서 4바이트까지 다양하게 문자를 표현할 수 있음
  • UTF-16 은 2바이트로 문자를 표현.

 


#인코딩과 디코딩

인코딩

- 이진수를 문자형으로 바꾸는 과정을 일반적으로 "인코딩(Encoding)"이라고 한다. 인코딩은 정보를 특정 형식으로 변환하는 과정을 의미하며, 주로 컴퓨터에서 데이터를 다룰 때 사용된다.

디코딩

- 문자를 이진수로 변환하는 과정은 일반적으로 "디코딩(Decoding)"이라고 한다. 디코딩은 인코딩의 반대 과정으로, 정보를 특정 형식에서 원래의 형식으로 변환하는 과정을 의미한다.

 


#실수

- 정수가 아닌 숫자를 의미.

- 실수는 소수점 이하 값을 가질 수 있는 숫자이며, 유리수와 무리수 포함.

- 예를 들어, 3.14나 1.732는 실수이다.

- 실수형 데이터 타입을 사용한다.

 

package basic.ch01;

public class DataType3 {

	// 메인 함수 - 코드의 시작점 
	public static void main(String[] args) {
		
		// 기본 데이터 타입 
		// 참조 타입 
		
		// 기본 데이터 타입 - 실수형 
		// float, double 
		
		float floatBox1 = 0.5f; // 4바이트 , F 는 접미사 
		float floatBox2 = 0.5F; // 접미사 대소문자 둘다 사용 가능 
		
		double doubleBox1 = 0.123;
		double doubleBox2 = 1.12345678; 
		// double 8byte 크기이다. 실수에 기본 연산 단위 이고 그 이유는 
		// 소수점을 더 많이 표현할 수 있기 때문에 값에 정확도를 높일 수 있다. 
		 
		// 콘솔창 결과 출력 - 콘솔창에서는 기본적으로 정확한 데이터 타입을 확인할 수 없다. 
		System.out.println(floatBox1);
		System.out.println(doubleBox1);
		
		System.out.println(0.5f);
		System.out.println(0.10d);
		
		
	} // end of main 
	
} // end of class

 

# 기본 데이터 타입 - 실수형

   - float, double

#F 는 접미사 (대소문자 둘 다 사용 가능)

#double : 실수에 기본 연산 단위. ( 소수점을 더 많이 표현할 수 있기 때문에 값에 정확도를 높일 수 있음)

#콘솔창 : 결과 출력(결과 확인)

 


#L value 와 R value

L-value와 R-value는 C 및 C++과 같은 언어에서 사용되는 용어

 

L-value는 주로 할당(대입) 연산자의 왼쪽에 나타나는 표현식이이고 R-value는 "값 그 자체"를 나타낸다.

즉, 실제로 값을 나타내는 것을 의미한다. 예를 들어, int y = 20;에서 20은 R-value이다.

그렇다면, 오른쪽에 나타나는 값 또한 사실 메모리 어딘가에 저장하는 것이 맞다.

R-value는 값을 생성하므로, 해당 값은 메모리에 저장되어야 한다. 값을 생성하려면 해당 값을 저장할 메모리 공간이 필요하다.

그래서 오른쪽에 정수를 사용한다면 4바이트 크기인 int 형의 데이터 타입이 사용이 되고 실수를 사용하게 된다면 8바이트 크기인 double 형의 데이터 타입이 사용된다.

 

>>> 정수에 기본 연산 타입은 int 형이고 실수형에 기본 연산 타입은 double이다. (정수> int , 실수>double)

       그 외에 데이터 타입을 사용하려면 접미사를 사용하여 명시를 해주어야 한다.


#논리자료형

- 논리 자료형은 프로그래밍에서 사용되는 데이터 타입 중 하나로, 논리적인 참(true)과 거짓(false)을 표현한다.

- 대부분의 프로그래밍 언어에서는 불리언(Boolean)이라고도 불린다.

- 주로 조건문, 반복문 및 논리 연산과 같은 논리적인 연산에 사용된다.

 

package basic.ch01;

public class DataType4 {

	public static void main(String[] args) {
		
		// 기본 자료형 
		// 논리 자료형 (사실을 관찰하고 결과값이 참, 거짓 판별) 
		// 크기는 1byte 크기 상자 이다. [][][][][][][][1]
		
		boolean isMarried = false; // 변수에 선언과 동시에 초기화 
		
		System.out.println(isMarried);
		isMarried = true; 
		System.out.println(isMarried);
		
		boolean isOk; // 변수에 선언
		isOk = true;
		System.out.println(isOk);
		System.out.println("------------------");
		System.out.println(true);
		System.out.println(false);
		
		
		
		
		
	} // end of main 
	
} // end of class

 

실행 결과_____

 

관련글 더보기