1. 타입(Type)
- 어떤 값의 유형 및 종류
- 값이 차지하는 메모리 공간의 크기, 저장되는 방식 결정
- 기본 타입 (primitive type)
- 데이터의 실제 값 저장
- 정수 타입(byte, short, int, long), 실수 타입(float, double), 논리 타입(boolean)
- 참조 타입 (reference type)
- 데이터가 저장된 곳의 주소값 저장
- 8개의 기본 타입을 제회한 나머지
public class TypeExample {
public static void main(String[] args){
int i = 1;
char a = 'A';
Object i1 = new Object();
Object a1 = new Object();
System.out.println(i);
System.out.println(i1);
System.out.println(a);
System.out.println(a1);
}
}
/* 출력
1 >> 기본 타입
java.lang.Object@372f7a8d >> 객체의 주소 : 참조 타입
A >> 기본 타입
java.lang.Object@2f92e0f4 >> 참조 타입
*/
2. 숫자 타입
- 정수 타입
- byte, short, int, long
- long은 리터럴 뒤에 L이나 l을 붙여야 하는데, 1과의 혼동을 방지하기 위해 L을 씀
- 정수형 오버플로우
- 자료형이 표현할 수 있는 범위 중 최대값 이상의 갑을 표현한 경우 발생
- 최대값을 넘어가면 해당 데이터 타입 값의 최소값으로 순환
- 정수형 언더 플로우
- 자료형이 표현할 수 있는 범위 중 최소값 이하의 값을 표현한 경우 발생
- 최소값을 넘어가면 해당 데이터 타입 값의 최대값으로 순환
- 실수 타입
- float, double
- float은 리터럴 뒤에 f를 붙여줘야 함.
- 실수형 오버 플로우
- 값이 음의 최소 범위 혹은 양의 최대 범위를 넘어 갔을 때 발생
- 값은 무한대
- 실수형 언더 플로우
- 값이 음의 최대 범위 혹은 양의 최소 범위를 넘어 갔을 때 발생
- 값은 0
3. 논리타입과 문자타입
- 논리 타입
- boolean
- 참/ 거짓을 저장할 수 있는 타입 --> 값은 true/ false만 가짐
- 1bit만 있으면 되지만, JVM가 다룰 수 있는 최소값이 1byte --> 크기 : 1 byte(8bit)
- 문자 타입
- char
- 크기 : 2 byte
- 작은 따옴표로 작성
- 해당 변수에 오직 한의 문자형 리터럴 저장 가능(예 : char letter = 'a';)
※ 리터럴(literal) : 문자가 가리키는 값
4. 문자열 타입 변수
- String
- 큰 따옴표 사용
- 변수 선언
- String 변수이름;
- 변수 할당
- 변수이름 = "문자열";
- 변수이름 = new String("문자열";) --> 위의 두 타입의 공통점 : 문자열을 값으로 지닌 것이 아닌, 문자열이 저장된 주소값을 저장하고 있음
- charAt(index)
- 해당 인덱스의 문자열의 문자를 반환
- 인덱스에 문자열보다 크거나 음수를 입력하면 에러 발생
- compareTo()
- 해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교
- 문자열의 대소문자를 구분하여 비교 --> compareToIgnoreCase() 사용시 대소문자 구분 없이 비교 가능
- 두 문자열이 같다면 0을 반환
- 문자열이 인수로 전달된 문자열보다 작으면 음수
- 문자열이 인수로 전달된 문자열보다 크면 양수
- concat()
- 해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환
- 전달된 문자열의 길이가 0이면 해당 문자열을 그대로 반환
- indexOf()
- 해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환
- 만약 해당 문자열에 전달된 문자나 문자열이 포함되어 있지 않으면 -1을 반환
- trim()
- 해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자를 제거
- toLowerCase()
- 해당 문자열의 모든 문자를 소문자로 변환
- toUpperCase()
- 해당 문자열의 모든 문자를 대문자로 변환
4. 타입 변환
- 자동 변환 타입
- 바이트 크기가 작은 타입에서 큰 타입으로 변환할 때
- 덜 정밀한 타입에서 더 정밀한 타입으로 변환할 때
- 수동 변환 타입
- 더 큰 타입에서 작은 타입으로 변환 시킬 때
- () 사용 --> 캐스팅
'Java' 카테고리의 다른 글
[Java] 객체지향 프로그래밍 (OOP) (0) | 2022.12.20 |
---|---|
[Java] 배열(Array) (0) | 2022.12.19 |
[Java] 제어문 - 반복문 (for, 향상된 for, while, do-while, break, continue) (0) | 2022.12.16 |
[Java] 제어문 - 조건문(if, if - else, switch, 향상된 switch) (0) | 2022.12.16 |
[JAVA] 변수 , 상수 (0) | 2022.07.22 |
댓글