오늘이라도
혼자 공부하는 자바, Ch. 02-3 타입 변환 본문
1. 자동 타입 변환
- 자동 타입 변환은 값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때 발생한다.
- byte < short < int < long < float < double
- 단, byte 타입은 허용 범위에 음수를 포함하기 때문에 char 타입으로 변환 될 수없다.
2. 강제 타입 변환
- 큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 나눠서 저장하는 것을 강제 타입 변환이라고 한다.
- 실수 타입을 정수타입으로 강제 타입 변환할 경우, 정수 부분만 저장된다.
3. 정수 연산에서의 자동 타입 변환
- 정수 타입 변수가 산술 연산식에서 피연산자로 사용되면 int 타입보다 작은 byte, short 타입의 변수는 int 타입으로 자동 타입 변환되어 연산을 수행한다.
- int 타입보다 허용 범위가 큰 long 타입은 int 타입으로 변환되지 않는다.
- long 타입이 피연산자로 사용되면 다른 정수형 타입은 long 타입으로 변환된다.
4. 실수 연산에서의 자동 타입 변환
- 실수 타입 변수끼리의 연산에서 피연산자 중 하나가 double 타입이라면 다른 피연산자도 double 타입으로 자동 타입 변환되어 연산을 수행한다.
- int 타입과 double 타입을 연산해도 int 타입이 double 타입으로 자동 변환되고 연산을 수행한다.
- int 타입으로 연산을 하고 싶다면 double 타입을 int 타입으로 강제 변환하고 연산을 수행해야 한다.
5. + 연산에서의 문자열 자동 타입 변환
- + 연산자는 피연산자가 모두 숫자일 경우에는 덧셈 연산을 수행한다. 피연산자 중 하나가 문자열일 경우에는 나머지 피연산자도 문자열로 자동 변환되어 문자열 결합 연산을 수행한다.
6. 문자열을 기본 타입으로 강제 타입 변환
- 문자열을 기본 타입으로 변환할 때에는 각 타입의 첫자를 대문자로 적는 메소드를 사용한다.
- 단, int 타입은 Integer.parseInt() 메소드를 사용한다.
- 문자열이 숫자가 아닌 알파벳, 특수 문자, 한글 등을 포함할 경우 NumberFormatException 에러가 발생한다.
- 기본 타입의 값을 문자열로 변경할 경우, String.valueOf() 메소드를 사용한다.
'취업성공패키지 SW 개발자 교육 > Java' 카테고리의 다른 글
혼자 공부하는 자바, Ch. 02-4 변수와 시스템 입출력 (0) | 2020.03.05 |
---|---|
7. 연산자 (산술, 증감, 비트, 비교, 논리) (0) | 2020.03.05 |
6. 자동 형 변환, 강제 형 변환 (0) | 2020.02.27 |
5. 실수형, 문자, 문자열, 논리형 데이터 타입 (0) | 2020.02.27 |
Java의 정석, Ch. 02-3 진법 (0) | 2020.02.27 |