일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 도커 #docker #docker-compose.yml #도커컴포즈 #배포 #spring #mysql #docker-compose
- 도커 #Docker #배포 #Spring #MySQL #백엔드배포
- /
- chatgpt #gpt #챗지피티 #ai
- Today
- Total
개발자 데뷔!
03. [Java] 자료형 본문
변수 자료형
정수형 | 문자형 | 실수형 | 논리형 | |
1byte | byte | - | - | boolean |
2byte | short | char | - | - |
4byte | int | - | float | - |
8byte | long | - | double | - |
자료형 | 바이트 크기 | 수의 범위 |
byte | 1 | -2의 7승 ~ 2의 7승 -1 |
short | 2 | -2의 15승 ~ 2의 15승 -1 |
int | 4 | -2의 31승 ~ 2의 31승 -1 |
long | 8 | -2의 63승 ~ 2의 63승 -1 |
* 서로다른 변수형을 연산하면 → 기본형인 int 값으로 변환되어 저장된다.
* 자바에서는 어떤 자료형으로 선언하든, 기본형인 int 값으로 변환되어 저장되기 때문에,
int 형범위에 벗어나는 숫자를 long 형 등에 선언 할 대는, 숫자뒤에 식별자 L을 붙인다.
* float 형의 식별자는 F를 사용한다.
long num = 12345678900L;
* char은 문자 자료형이지만, 컴퓨터 내부에는 정수값(아스키 값)으로 저장되므로, 정수 자료형으로 분류하기도 한다!
* 단, char형은 음수값을 표현할 수 없다는 차이가 있다!!!
리터럴
: 리터럴(literal)은 프로그램에서 사용되는 모든 숫자, 문자, 논리값을 가리킨다.
- 프로그램 시작 시, 시스템에 같이 로딩되어 특정 메모리 공간인 상수풀(constant pool) 에 놓인다.
- 이후, 이 상수풀에서 대입할 값을 꺼내와 변수에 대입하는 것이다.
인코딩 방식
문자 인코딩 방식 | 기본 크기 | 특징 |
아스키 코드 (ASCII) | 1 byte | 영문자, 숫자, 특수문자 등 모두 1바이트로 표현 가능하므로 1바이트만 사용 |
유니 코드 (unicode) | 2 byte | 한글 등 다른 언어의 문자는 1바이트만으로 표현하기 어려우므로 2바이트, 또는 그 이상의 조합으로 표현 |
* 유니코드의 1바이트 값은 아스키코드값과 호환됨!!!
* 유니코드를 표현하는 인코딩 방법은 UTF-8, UTF-16, 두가지가 있는데,
자바의 기본 인코딩 방식은 모든 문자를 2바이트로 표현하는 UTF-16이다.
* java의 기본형 = 유니코드 !!
* 문자 사용 시 → 작은따옴표 (' ') 사용
문자열 사용 시 → 큰따옴표 (" ") 사용
* 같은 문자도, 작은따옴표를 사용할 때와, 큰따옴표를 사용할 때 다르다.
* 문자열 끝에는 항상 NULL ('\0') 문자가 따라붙기 때문
지역 변수 자료형 추론 (local variable type inference)
Java 10 부터, 자료형을 명시하지 않고도, 변수를 사용할 수 있게됨
ex) var 형 사용 (지역변수에만 가능) → 추천되는 방법은 아님
형 변환
: type conversion.
형변환의 기본원칙은 다음과 같다.
- 바이트 크기가 작은 자료형 → 큰 자료형 형변환은 자동으로 이루어진다.
- 덜 정밀한 자료형 → 더 정밀한 자료형 형변환은 자동으로 이루어진다.
기본원칙에 따라 형변환이 일어나면, 자동형 형변환(묵시적 형변환),
기본원칙에 위배되는 방향으로 형변환이 일어나면, 강제 형변환(명시적 형변환)이라고 한다.
상수선언
: 항상 변하지 않는 값을 상수(constant)로서 선언
예약어 final 사용
ex)
final int MAX = 100;
* 상수는 값을 변경할 수 없다!
* 상수는 대문자 사용하고, 단어 연결 시 _ 를 사용하는것이 일반적
'프로그래밍 언어 > Java' 카테고리의 다른 글
05. [Java] 클래스의 기본구조 & Main 함수 사용 (0) | 2022.01.31 |
---|---|
04. [Java] 연산자 (0) | 2022.01.31 |
02. [Java] Java 프로젝트 시작! & 기본코드 _ Eclipse (0) | 2022.01.31 |
01. [Java] 개발환경 세팅 _ Eclipse (0) | 2022.01.30 |
00. [Java] Java의 기본 (0) | 2022.01.29 |