728x90
+ 연산에서의 문자열 자동 타입 변환
+연산
- 피연산자가 모두 숫자일 경우 덧셈 연산
- 피연산자 중 하나가 문자열일 경우 나머지 피연산자도 문자열로 자동 변환되고 문자열 결합
int value = 3 + 7; -> int value = 10;
String str = "3" + 7 -> String str = "3" + "7"; -> String str = "37"
String str = 3 + "7" -> String str = "3" + "7"; -> String str = "37"
+ 연산은 앞에서부터 순차적으로 수행
먼저 수행된 연산이 결합 연산인 경우 이후 모든 연산이 결합 연산이 됨
int value = 1 + 2+ 3; -> int value = 3 + 3; -> int value = 6;
String str = 1 + 2 + "3"; -> String str = 3 + "3"; -> String str = "33";
String str = 1 + "2" + 3; -> String str = "12" + 3; -> String str = "123";
String str = "1" + 2 + 3; -> String str = "12" + 3; -> String str = "123";
괄호가 있을시에는 괄호 우선 연산
문자열을 기본 타입으로 강제 변환
변환 타입 | 사용 예 |
String -> byte | String str = "10"; byte value = Byte.parseByte(str); |
String -> short | String str = "200"; short value = Short.parseShort(str); |
String -> int | String str = "300000"; int value = Integer.parseInt(str); |
String -> long | String str = "40000000000"; long value = Long.parseLong(str); |
String -> float | String str = "12.345"; float value = Float.parseFloat(str); |
String -> double | String str = "12.345"; double value = Double.parseDoble(str); |
String -> boolean | String str = "true"; boolean value = Boolean.parseBoolean(str); |
문자열의 기본타입으로의 강제 변환에서는 캐스팅 연산자(괄호)를 사용하지 않고 java에서 제공하는 api를 사용하여야 한다.
문자열이 숫자 외 요소를 포함하고 숫자 타입 변환 시도할 경우 숫자 형식 예외 발생
String str = "1a";
int value = Integer.parseInt(str); //NumberFormatException 발생
기본 타입을 문자열로 강제 타입 변환
1.String.valueOf() 메소드 사용하여 기본 타입을 문자열로 변환
String str1 = String.valueOf(PrimitiveVariable)
2. 값에 빈 문자열을 결합시켜 기본 타입을 문자열로 변환
'JAVA > 혼자공부하는자바' 카테고리의 다른 글
[JAVA기초] 변수와 시스템 입출력(2) (0) | 2020.12.06 |
---|---|
[JAVA기초] 변수와 시스템 입출력 (0) | 2020.12.06 |
[JAVA기초] 정수의 타입 변환 2 (연산에서의 타입변환) (0) | 2020.12.05 |
[JAVA기초] 변수 타입 변환 (형변환, 자동타입변환&강제타입변환) (0) | 2020.12.04 |
[JAVA기초] 변수의 타입 (문자&실수 데이터타입, 이스케이프 문자, 실수 리터럴, 논리 타입) (0) | 2020.12.04 |