본문 바로가기

JAVA/혼자공부하는자바

[JAVA기초] 변수 타입 변환 3 (문자열 타입 변환)

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. 값에 빈 문자열을 결합시켜 기본 타입을 문자열로 변환