🏷 2.1 변수 선언
- 변수
- 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름
- 변수를 통해 프로그램은 메모리 번지에 값을 저장하고 읽을 수 있다.
- 타입 별로 그에 해당하는 타입을 저장 할 수 있다.
- 변수의 메모리 할당
- 변수 선언 시, 메모리에 할당이 되는 것이 아니고, 변수에 최초로 값이 할당 될 때 메모리에 값이 저장된다.
- 변수에 최초로 값을 대입하는 행위를 변수 초기화 라고 하며, 초기화 되지 않은 변수는 아직 메모리에 할당되지 않았기 때문에 변수를 통해 메모리 값을 읽을 수 없다.
🏷 2.1 정수 타입
- 변수는 선언 시 타입에 따라 저장할 수 있는 값의 종료와 허용 범위가 달라진다.
- 정수 , 실수 , 논리 값을 저장할 수 있는 기본(primitive) 타입 8개를 제공한다.
- 정수 : byte, char, short, int, long
- 실수 : float, double
- 논리 : boolean
🏷 2.6 문자열 타입
- 작은 따옴표로 감싼 한개의 문자는 char 타입이지만 큰 따옴표로 감싼 여러개의 문자열은 유니코드로 변환되지 않는다.
- String 타입은 기본 타입에 속하지 않는 참조 타입이다.
- \ [이스케이프 문자]
- 이스케이프 문자를 사용하면 특정 문자를 포함할 수 있고, 출력에 영향을 미치기도 한다.
- 자바 13부터는 """ [텍스트 블록] 제공
- 이스케이프 문자 없이 작성한 그대로 문자열로 저장
- \n : 줄바꿈
- \ : 줄바꿈 없이 다음 줄에 이어서 작성하고 싶을 때
🏷 2.7 자동 타입 변환
- 자동으로 타입 변환이 일어나는 것을 의미
- 값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 대입될 때 발생
- 큰 허용 범위 타입 = 작은 허용 범위 타입
- byte < short, char < int < long < float < double
- int 타입은 byte 타입 보다 허용 범위가 더 크기 때문에 자동 타입 변환이 된다.
- 정수 타입이 실수 타입으로 대입될 경우에도 무조건 자동 타입 변환이 된다.
- 자동 타입 변환의 예외 - char 과 byte
- char > byte 이지만, byte는 char 타입으로 자동 변환 될 수 없다.
- char 타입의 허용범위는 음수를 포함하지 않지만, byte 타입은 음수를 포함 하기 때문이다.
- char > byte 이지만, byte는 char 타입으로 자동 변환 될 수 없다.
🏷 2.8 강제 타입 변환
- 큰 허용 변환 타입은 작은 허용 범위 타입으로 자동 타입 변환될 수 없지만, 큰 허용 범위 타입을 쪼개어 작은 허용 범위 타입으로 저장하는 것을 말한다.
- 캐스팅 연산자로 () 를 사용하는데, () 안에 들어가는 타입은 쪼개는 단위를 의미 한다.
- 작은 허용 범위 타입 = (작은 허용 범위 타입) 큰 허용 범위 타입
- int -> byte
- 예를 들어 10진수 10은 2진수(1010) 으로 표현 가능하며, 1byte만 있으면 저장 할 수 있어 byte로 변환하더라도 값이 잘 보존된다.
- 하지만 2byte 이상이 필요한 int 값은 원래의 값이 보존되지 않는다.
- 강제 타입 변환의 목적은 원래 값이 유지되면서 타입만 변경하는 것을 의미
🏷 2.9 연산식에서 자동 타입 변환
- 자바는 컴파일 단계에서 연산을 수행
byte x = 10;
byte y = 20;
byte result = x + y; // 에러
int result = x + y;
- byte 타입의 변수가 피연산자로 사용되면 변수 값은 int 타입으로 변환되어 연산되고 결과도 int 타입으로 생성된다.
- 피연산자 중 하나가 double 타입이면 다른 피연산자도 double 타입으로 변환되어 연산되고 연산 결과 또한 double 타입이 된다.
- int 타입과 double 타입을 연산하는 경우에도 int 타입의 피연산자가 double 타입으로 자동 변환되고 연산을 수행한다.
🏷 2.10 문자열을 기본 타입으로 변환
- 문자열을 기본 타입으로 변환
- String -> int : Integer.parseInt ()
- String -> long : Long.parseLong ()
- 기본 타입 -> String : String.valueOf("기본 타입 값")
더보기
1-4
2-3467
4 - 타입: int , double / 변수이름: age, price / 리터럴 : 10, 3.14
5-3
6-4
7-3
9-1
10-2
11-2,13,16
'📝 이것이 자바다' 카테고리의 다른 글
Chapter 06. 객체 지향 프로그래밍 - 2 (0) | 2022.11.22 |
---|---|
Chapter 06. 객체 지향 프로그래밍 - 1 (0) | 2022.11.14 |
Chapter 05. 참조 타입 (0) | 2022.11.07 |
Chapter 04. 조건문과 반복문 (0) | 2022.11.02 |
Chapter 03. 연산자 (0) | 2022.10.30 |