Java에서는 정적으로 유형이 지정되고 강력한 유형의 언어이기도 합니다. 왜냐하면 Java에서는 각 데이터 유형(예: 정수, 문자, 16진수, 팩형 10진수 등)이 프로그래밍 언어의 일부로 사전 정의되고 모든 상수 또는 변수가 정의되어 있기 때문입니다. 주어진 프로그램은 Java 데이터 유형 중 하나로 설명되어야 합니다.
Java의 데이터 유형
Java의 데이터 유형 모든 테스트 케이스를 커버하기 위해 편의와 상황에 따라 만들어진 변수에 저장할 수 있는 다양한 크기와 값이 있습니다. Java에는 데이터 유형이 분리되는 두 가지 범주가 있습니다.
- 기본 데이터 유형: boolean, char, int, short, byte, long, float 및 double과 같은
- 비기본 데이터 유형 또는 객체 데이터 유형: 문자열, 배열 등과 같은

자바 바이트 배열을 문자열로
Java의 기본 데이터 유형
원시 데이터는 단일 값일 뿐이며 특별한 기능이 없습니다. 기본 데이터 유형은 8가지가 있습니다. 아래 표 형식으로 설명하면 다음과 같습니다.
| 유형 | 설명 | 기본 | 크기 | 예제 리터럴 | 값의 범위 |
|---|---|---|---|---|---|
| 불리언 | 참 또는 거짓 | 거짓 | 1비트 | 허위 사실 | 허위 사실 |
| 바이트 | 2의 보수 정수 | 0 | 8비트 | (없음) | -128~127 |
| 숯 | 유니코드 문자 | u0000 | 16비트 | 'a', 'u0041', '101', '', '', ' ', 'b' | ASCII 값의 문자 표현 0~255 |
| 짧은 | 2의 보수 정수 | 0 | 16비트 | (없음) | -32,768~32,767 |
| 정수 | 2의 보수 정수 | 0 | 32비트 | -2,-1,0,1,2 | -2,147,483,648 에게 2,147,483,647 |
| 긴 | 2의 보수 정수 | 0 | 64비트 | -2L,-1L,0L,1L,2L | -9,223,372,036,854,775,808 에게 9,223,372,036,854,775,807 |
| 뜨다 | IEEE 754 부동 소수점 | 0.0 | 32비트 | 1.23e100f, -1.23e-100f, .3f, 3.14F | 소수점 이하 7자리까지 |
| 더블 | IEEE 754 부동 소수점 | 0.0 | 64비트 | 1.23456e300d , -123456e-300d , 1e1d | 소수점 이하 16자리까지 |
다음과 같은 데이터 유형 각각에 대해 논의하고 구현해 보겠습니다.
1. 부울 데이터 유형
부울 데이터 유형은 정보의 1비트만 나타냅니다. 참이든 거짓이든 이는 논리와 부울 대수학의 두 가지 진리값을 표현하기 위한 것이지만 부울 데이터 유형의 크기는 다음과 같습니다. 가상 머신에 따라 다름 . 부울 유형의 값은 암시적 또는 명시적으로(캐스트 사용) 다른 유형으로 변환되지 않습니다. 하지만 프로그래머는 쉽게 변환 코드를 작성할 수 있습니다.
통사론:
boolean booleanVar;>
크기: 가상 머신에 따라 다름
2. 바이트 데이터 유형
바이트 데이터 유형은 8비트 부호 있는 2의 보수 정수입니다. 바이트 데이터 유형은 대규모 배열에서 메모리를 절약하는 데 유용합니다.
통사론:
byte byteVar;>
크기: 1바이트(8비트)
문자열 메소드 자바
3. 짧은 데이터 유형
짧은 데이터 유형은 16비트 부호 있는 2의 보수 정수입니다. 바이트와 유사하게, 메모리 절약이 실제로 중요한 상황에서는 짧은 배열을 사용하여 대규모 배열의 메모리를 절약합니다.
통사론:
short shortVar;>
크기: 2바이트(16비트)
4. 정수 데이터 유형
32비트 부호 있는 2의 보수 정수입니다.
통사론:
int intVar;>
크기: 4바이트(32비트)
기억하다: Java SE 8 이상에서는 int 데이터 유형을 사용하여 [0, 2 범위의 값을 갖는 부호 없는 32비트 정수를 나타낼 수 있습니다.32-1]. int 데이터 유형을 부호 없는 정수로 사용하려면 Integer 클래스를 사용하십시오.
5. 긴 데이터 유형
롱의 범위는 상당히 넓습니다. long 데이터 유형은 64비트 2의 보수 정수이며 int 유형이 원하는 값을 보유할 만큼 크지 않은 경우에 유용합니다. Long 데이터 유형의 크기는 8바이트(64비트)입니다.
통사론:
long longVar;>
기억하다: Java SE 8 이상에서는 long 데이터 유형을 사용하여 최소값이 0이고 최대값이 2인 부호 없는 64비트 길이를 나타낼 수 있습니다.64-1. Long 클래스에는 Unsigned 비교, Unsigned 나누기 등과 같은 메서드도 포함되어 unsigned long에 대한 산술 연산을 지원합니다.
6. 부동 데이터 유형
float 데이터 유형은 단정밀도 32비트 IEEE 754 부동 소수점입니다. 부동 소수점 숫자의 대규모 배열에서 메모리를 절약해야 하는 경우 (double 대신) float를 사용하십시오. float 데이터 유형의 크기는 4바이트(32비트)입니다.
통사론:
float floatVar;>
7. 이중 데이터 유형
double 데이터 유형은 배정밀도 64비트 IEEE 754 부동 소수점입니다. 10진수 값의 경우 일반적으로 이 데이터 유형이 기본 선택입니다. double 데이터 유형의 크기는 8바이트 또는 64비트입니다.
통사론:
double doubleVar;>
메모: float 및 double 데이터 유형은 모두 근사 오류가 허용되는 과학 계산을 위해 특별히 설계되었습니다. 정확성이 가장 중요한 관심사라면 이러한 데이터 유형을 사용하지 않고 대신 BigDecimal 클래스를 사용하는 것이 좋습니다.
거쳐가는 것이 좋습니다 Java에서 오류를 반올림합니다.
8. Char 데이터 유형
char 데이터 형식은 크기가 2바이트(16비트)인 단일 16비트 유니코드 문자입니다.
통사론:
char charVar;>
Java에서 char 크기가 2바이트인 이유는 무엇입니까?
따라서 C/C++와 같은 다른 언어는 ASCII 문자만 사용하며 모든 ASCII 문자를 표현하려면 8비트이면 충분합니다. 하지만 자바는 ASCII 코드 시스템이 아닌 유니코드 시스템 유니코드 시스템을 표현하기 위해 8비트는 모든 문자를 표현하기에 충분하지 않으므로 Java는 문자에 2바이트를 사용합니다. 유니코드 전 세계의 대부분의 언어를 표현할 수 있는 완전한 국제 문자 집합을 정의합니다. 이는 라틴어, 그리스어, 키릴 문자, 가타카나, 아랍어 등 수십 가지 문자 집합을 통합한 것입니다.
예:
자바
C 프로그래밍의 문자열 배열
// Java Program to Demonstrate Char Primitive Data Type> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Creating and initializing custom character> >char> a =>'G'>;> >// Integer data type is generally> >// used for numeric values> >int> i =>89>;> >// use byte and short> >// if memory is a constraint> >byte> b =>4>;> >// this will give error as number is> >// larger than byte range> >// byte b1 = 7888888955;> >short> s =>56>;> >// this will give error as number is> >// larger than short range> >// short s1 = 87878787878;> >// by default fraction value> >// is double in java> >double> d =>4.355453532>;> >// for float use 'f' as suffix as standard> >float> f =>4>.7333434f;> >// need to hold big range of numbers then we need> >// this data type> >long> l =>12121>;> >System.out.println(>'char: '> + a);> >System.out.println(>'integer: '> + i);> >System.out.println(>'byte: '> + b);> >System.out.println(>'short: '> + s);> >System.out.println(>'float: '> + f);> >System.out.println(>'double: '> + d);> >System.out.println(>'long: '> + l);> >}> }> |
>
Azure 구독
>산출
char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121>
비기본 데이터 유형 또는 참조 데이터 유형
그만큼 참조 데이터 유형 참조 유형은 변수 값을 메모리에 직접 저장하지 않기 때문에 변수 값의 메모리 주소를 포함합니다. 문자열, 객체, 배열 등입니다.
1. 문자열
문자열 문자 배열로 정의됩니다. Java에서 문자 배열과 문자열의 차이점은 문자열은 단일 변수에 일련의 문자를 보유하도록 설계된 반면 문자 배열은 별도의 char 유형 엔터티 모음이라는 것입니다. C/C++와 달리 Java 문자열은 널 문자로 끝나지 않습니다.
통사론: 문자열 선언
= ;>
예:
// Declare String without using new operator String s = 'techcodeview.com'; // Declare String using new operator String s1 = new String('techcodeview.com');> 2. 수업
ㅏ 수업 객체가 생성되는 사용자 정의 청사진 또는 프로토타입입니다. 이는 한 유형의 모든 개체에 공통된 속성 또는 메서드 집합을 나타냅니다. 일반적으로 클래스 선언에는 다음 구성 요소가 순서대로 포함될 수 있습니다.
- 수정자 : 클래스는 공개되거나 기본 액세스 권한을 가질 수 있습니다. 인용하다 Java의 클래스 또는 인터페이스에 대한 액세스 지정자
- 수업 이름: 이름은 첫 글자(관례에 따라 대문자)로 시작해야 합니다.
- 슈퍼클래스(있는 경우): 키워드가 앞에 오는 클래스의 부모(수퍼클래스) 이름(있는 경우)입니다. 클래스는 하나의 상위 클래스만 확장(서브클래스)할 수 있습니다.
- 인터페이스(있는 경우): 키워드 Implements가 앞에 오는 클래스에 의해 구현된 인터페이스의 쉼표로 구분된 목록입니다(있는 경우). 클래스는 둘 이상의 인터페이스를 구현할 수 있습니다.
- 몸: 클래스 본문은 중괄호({ })로 둘러싸여 있습니다.
3. 객체
안 물체 객체 지향 프로그래밍의 기본 단위이며 실제 엔터티를 나타냅니다. 일반적인 Java 프로그램은 아시다시피 메서드를 호출하여 상호 작용하는 많은 객체를 생성합니다. 객체는 다음으로 구성됩니다.
- 상태 : 객체의 속성으로 표현됩니다. 또한 개체의 속성을 반영합니다.
- 행동 : 객체의 메소드로 표현됩니다. 또한 다른 개체에 대한 개체의 반응을 반영합니다.
- 신원 : 개체에 고유한 이름을 부여하고 한 개체가 다른 개체와 상호 작용할 수 있도록 합니다.
4. 인터페이스
수업처럼, 상호 작용 메서드와 변수를 가질 수 있지만 인터페이스에 선언된 메서드는 기본적으로 추상입니다(메서드 시그니처만 있고 본문은 없음).
- 인터페이스는 클래스가 수행해야 하는 작업과 수행 방법을 지정하지 않습니다. 수업의 청사진입니다.
- 인터페이스는 Player가 인터페이스일 수 있고 Player를 구현하는 모든 클래스가 move()를 수행할 수 있거나 구현해야 하는 것과 같은 기능에 관한 것입니다. 따라서 클래스가 구현해야 하는 메서드 집합을 지정합니다.
- 클래스가 인터페이스를 구현하고 인터페이스에 지정된 모든 함수에 대한 메서드 본문을 제공하지 않는 경우 클래스를 추상으로 선언해야 합니다.
- Java 라이브러리 예는 다음과 같습니다. 비교기 인터페이스 . 클래스가 이 인터페이스를 구현하는 경우 컬렉션을 정렬하는 데 사용할 수 있습니다.
5. 배열
안 정렬 공통 이름으로 참조되는 유사한 유형의 변수 그룹입니다. Java의 배열은 C/C++의 배열과 다르게 작동합니다. 다음은 Java 배열에 관한 몇 가지 중요한 사항입니다.
- Java에서는 모든 배열이 동적으로 할당됩니다. (아래에서 논의)
- 배열은 Java의 객체이므로 멤버 길이를 사용하여 길이를 찾을 수 있습니다. 이는 크기를 사용하여 길이를 찾는 C/C++와 다릅니다.
- Java 배열 변수는 데이터 유형 뒤에 []를 사용하여 다른 변수처럼 선언할 수도 있습니다.
- 배열의 변수는 순서가 지정되어 있으며 각 변수에는 0으로 시작하는 인덱스가 있습니다.
- Java 배열은 정적 필드, 지역 변수 또는 메소드 매개변수로 사용될 수도 있습니다.
- 그만큼 크기 배열은 int 값으로 지정해야 하며 길거나 짧지 않아야 합니다.
- 배열 유형의 직접 슈퍼클래스는 Object입니다.
- 모든 배열 유형은 인터페이스를 구현합니다. 복제 가능 그리고 java.io.직렬화 가능 .
Java의 데이터 유형에 대한 FAQ
1. Java의 데이터 유형은 무엇입니까?
데이터 유형은 모든 테스트 케이스를 포괄하기 위해 편의와 상황에 따라 만들어진 변수에 저장할 수 있는 다양한 크기와 값을 가지고 있습니다.
2. Java에서 사용되는 8가지 데이터 유형은 무엇입니까?
Java에는 아래와 같이 8가지 주요 기본 데이터 유형이 있습니다.
- 불리언
- 바이트
- 숯
- 짧은
- 정수
- 긴
- 뜨다
- 더블
3. Java의 기본 유형은 무엇입니까?
기본 데이터 유형은 단일 값을 저장할 수 있고 특별한 기능을 제공하지 않는 Java의 유형입니다.
4. Java에서 char이 2바이트를 사용하는 이유와 u0000은 무엇입니까?
Char는 ASCII 시스템이 아닌 유니코드 시스템을 사용하기 때문에 Java에서 2바이트를 사용합니다. u000은 유니코드 시스템의 가장 낮은 범위입니다.
체크아웃: Java의 데이터 유형에 관한 퀴즈