입학식 이후로 오늘부터는 제대로 첫 수업을 시작했다!
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/007.gif)
이제는 매일 수업중에 배웠던 내용들을 정리하고 기록하기로 했다.
우선 자바 기반 프로그래밍을 배우는 동안에는 이전 과정에서 놓치고 지나갔던 부분들에 대해 기록해보려고 한다 :)
먼저 중요한 부분을 다시 한 번 복습하는 의미로 반드시 블록의 시작과 끝은 짝을 맞춰 잘 구분하고,
블록을 벗어나면 메소드를 더이상 사용할 수 없다는 것을 인지하고 기억하기!
변수
데이터(data)를 저장할 수 있는 메모리 공간
데이터 타입
- 정수형 : byte, short, int, long
- 실수형 : float, double
- 문자형 : char
- 논리형 : boolean
이 part에서는 데이터 타입에 따라 할당되어 수용할 수 있는 메모리 공간의 크기가 다르기 때문에
값의 크기에 따라 데이터 타입을 결정해야할 때 각 데이터 타입별 최솟값과 최댓값을
"System.out.println((데이터 타입).MAX_VALUE / (데이터타입).MIN_VALUE)" 메소드를 활용해
간단하게 출력하여 각 데이터 타입별 값의 범위를 알아볼 수 있는 방법을 알아보았다.
int 타입: Integer / char 타입: Charcter
이 때, int 타입과 char 타입은 풀네임으로 호출해야한다.
사실상 대부분 정수형에서는 int, 실수형에서는 double을 사용되기 때문에 값의 범위가 큰 의미가 있는것은 아니지만
만약의 경우를 대비해 알아두면 유용하게 사용될 수 있는 정보이니 기억해두기로!
다음은 데이터 타입 중 char 타입과 String 타입에서 빈문자와 공백문자의 사용이다.
String 타입에서는 빈문자와 공백문자를 모두 허용하지만
char 타입에서는 공백문자는 허용하고, 빈문자는 허용하지 않는다는 점을 새롭게 알게되었다.
빈문자는 말 그대로 따옴표 내에 공백이나 문자가 존재하지 않는 상태이고,
공백문자는 별도의 문자는 존재하지 않지만 띄워쓰기로 공백이 존재하는 상태이다.
개인적인 생각으로는 String 타입은 어떤 문자의 형태나 길이도 수용할 수 있지만
char 타입의 경우 1글자만을 수용할 수 있는 데이터 타입이기 때문에
빈문자의 경우 0으로 취급하여 허용하지 않는것이라 생각하면 외우기가 쉬울 것 같다 :)
마지막으로 데이터의 타입에서 새롭게 알게된 사실은 double 타입과 float 타입에서 지수형 e의 사용이다.
지수형 e는 10의 n제곱을 나타내는 단위인데, int 타입은 정수형 데이터만을 수용하기 때문에
실수 형태인 10의 -n 제곱을 수용할 수 없어 지수형 e의 사용이 불가하다.
하지만 실수형 데이터를 수용하는 double 타입과 float 타입에서는 지수형 e의 사용이 가능하다.
float 타입은 4byte double 타입은 8byte의 데이터를 수용할 수 있기 때문에
float 타입보다는 double 타입에서 조금 더 세밀하게 데이터를 출력할 수 있다.
타입 변환
하나의 타입을 다른 타입으로 바꾸는 행위
- 묵시적 타입 변환(자동 타입 변환) : promotion
- 명시적 타입 변환(강제 타입 변환) : casting
마지막으로 오늘 수업의 마무리는 데이터 타입 변환에 대해 알아보았다.
데이터 타입 변환은 묵시적 타입 변환과 명시적 타입 변환 2가지로 분류된다.
묵시적 타입 변환은 더 작은 크기의 데이터 타입에서 더 큰 크기의 데이터 타입으로 변환될 때
별도로 데이터 타입을 명시하지 않아도 더 큰 크기의 데이터 타입으로 자동으로 변환되는 경우이다.
명시적 타입 변환은 큰 크기의 데이터 타입에서 더 작은 크기의 데이터 타입으로 변환될때
데이터의 타입을 '(데이터타입) 변수' 형태로 명시하여 강제로 데이터 타입을 변환하는 경우이다.
명시적 타입 변환의 경우에는 데이터의 손실이 발생할 수 있다.
연산식에서의 자동 타입 변환에서의 예시를 확인해보았다.
byte + byte = int
int / int = double
연산식에서는 더 큰 크기의 데이터 타입으로 자동 변환 되는것을 확인할 수 있었다!
'Develop growth diary > JAVA' 카테고리의 다른 글
자바 기반 구조적 프로그래밍 07 - 열거 타입 생성과 메소드 활용 (0) | 2022.10.05 |
---|---|
자바 기반 구조적 프로그래밍 05 - 반복문과 배열의 생성 및 복사 (1) | 2022.10.04 |
자바 기반 구조적 프로그래밍 04 - 조건문과 반복문 (1) | 2022.09.30 |
자바 기반 구조적 프로그래밍 03 - 라이브러리 활용, 조건문 if (2) | 2022.09.29 |
자바 기반 구조적 프로그래밍 02 - 연산자와 연산식 (0) | 2022.09.28 |