일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- til
- 스파르타내일배움캠프
- Python
- 국비
- 개인공부
- java
- 백준
- Spring
- MySQL
- 99클럽
- 운영체제
- 중심사회
- AWS
- 컴퓨터개론
- 프로그래머스
- 스파르타내일배움캠프WIL
- 항해
- 개발자블로그
- 개발자스터디
- 스파르타내일배움캠프TIL
- 소프트웨어
- 내일배움캠프
- 컴퓨터구조론 5판
- 자바
- 부트캠프
- wil
- Flutter
- 스파르타코딩클럽
- 코딩테스트
- 99일지
- Today
- Total
컴공생의 발자취
[JAVA] 형변환 정리 본문
들어가기에 앞서서...
Spring 백엔드 개발자로 진로를 전향하며 코테 언어를 C++에서 JAVA로 바꿨더니만...
망할 형변환 아 tlqkf 넘 헷갈린다... !! 까짓거 내가 볼라고 정리 좀 해본다 ~
** 목차 **
1. 문자 : char
2. 숫자 : 정수(int), 실수(double)
3. 문자열 : String
4. 배열 : array
5. 총 정리
1. 문자 : char
char to int / double
* 형변환 연산자 사용
단순 형변환을 할 경우 해당 아스키코드 값으로 출력한다. ex) '5' -> 53
원하는 값을 얻으려면 '0'(48)에 해당하는 값을 빼주어야 한다.
// [변경할 타입] 변수명 = (변경할 타입) 변경할 변수명 - '0';
char c = '5';
int i = (int)(c - '0');
* Character.getNumericValue(char c) 사용
char to int만 형변환 가능
char c = '4';
int i = Character.getNumericValue(c);
char to String
* Character.toString(char c) 사용
: null 값이 들어오면 Null Pointer Exception
char c = 'A'
String str = Character.toString(c);
* String.valueOf(char c) 사용
: char[] to String도 적용 가능 / null 문자열 리턴
char c = 'A'
String str = String.valueOf(c);
char[] cArray = ['a', 'b', 'c'];
String str = String.valueOf(cArray);
char to array
* char to array(char)가 아닐 경우는 char를 원하는 타입으로 변환 후 해당 타입의 배열에 넣어준다.
char c = 'a';
char[] charArray = {c}; // char를 하나의 배열에 넣음
2. 숫자 : 정수(int), 실수(double)
int to char
* 형변환 연산자 사용
int에 저장된 값이 char의 범위를 벗어나는 경우, 정보가 손실된다.
int를 char로 형변환할 때 부호 비트는 무시된다. 이로 인해 음수 값이 양수 값으로 변환될 수 있다.
int i = 97;
char c = (char) i;
int / double to String
* [ Integer / Double ].toString( [ int / double ] num) 사용
int i = 97;
double d = 79;
String intStr = Integer.toString(i);
String doubleStr = Double.toString(d);
* String.valueOf( [int / double] num ) 사용
int i = 97;
double d = 79;
String intStr = String.valueOf(i);
String doubleStr = String.valueOf(d);
[ int / double ] to array
* [ int / double ] to array[ int / double ]가 아닐 경우는 [ int / double ]를 원하는 타입으로 변환 후 해당 타입의 배열에 넣어준다.
int i = 97;
double d = 79;
int[] intArray = {i}; // int를 하나의 배열에 넣음
double[] doubleArray = {d}; // double을 하나의 배열에 넣음
3. 문자열 : String
String to char
* str.charAt(int index) 사용
String str = "Hello world~";
char c = str.charAt(0); // c = 'H';
String to int / double
* Integer.parseInt(String str) / Double.parseDouble(String str) 사용
: 문자열이 유효한 숫자를 포함하지 않는다면 NumberFormatException이 throw 된다.
String intStr = "25";
String doubleStr = "99.7";
int intNum = Integer.parseInt(intStr);
double doubleNum = Double.parseDouble(doubleStr);
* Integer.valueOf(String str) / Double.valueOf(String str) 사용
: 문자열이 유효한 숫자를 포함하지 않는다면 NumberFormatException이 throw 된다.
String intStr = "25";
String doubleStr = "99.7";
int intNum = Integer.valueOf(intStr);
double doubleNum = Double.valueOf(doubleStr);
String to array
* str.toCharArray() 사용
: 문자열에서 char 배열로 변경
String str = "Hello world~";
char[] charArray = str.toCharArray();
// ['H', 'E', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '~']
* str.split("") 사용
: 문자열에서 String배열로 변경
String str = "Hello world!";
String[] strArray = str.split("");
4. 배열 : array
StringArray to String
* Arrays.toString(String[] str) 사용
: import java.util.Arrays 필요
String[] strArray = {"Hello", "World!"};
String str = Arrays.toString(strArray);
System.out.println(str);
// result : [Hello, World!]
* StringBuilder.append(String[] str) 사용
String[] strArray = {"Hello", "World!"};
StringBuilder sb = new StringBuilder();
for (String str : strArray) {
sb.append(str);
}
String str = sb.toString();
System.out.println(str);
// result : HelloWorld!
* String.join("", String[] str) 사용
String[] strArray = {"Hello", "World!"};
String str = String.join("_", strArray);
System.out.println(str);
// Hello_World!
5. 총 정리
* 문자 : char
- char to int / double
- 형변환 연산자 사용
- Character.getNumericValue(char c) 사용
- char to String
- Character.toString(char c) 사용
- String.valueOf(char c) 사용
* 숫자 : 정수(int), 실수(double)
- int to char
- 형변환 연산자 사용
- int / double to String
- [ Integer / Double ].toString( [ int / double ] num) 사용
- String.valueOf( [int / double] num ) 사용
* 문자열 : String
- String to char
- str.charAt(int index) 사용
- String to int / double
- Integer.parseInt(String str) / Double.parseDouble(String str) 사용
- Integer.valueOf(String str) / Double.valueOf(String str) 사용
- String to array(char)
- str.toCharArray() 사용
- String to array(String)
- str.split("") 사용
* 배열 : array
- StringArray to String
- Arrays.toString(String[] str) 사용
- StringBuilder.append(String[] str) 사용
- String.join("", String[] str) 사용
'☕ Java' 카테고리의 다른 글
자바 관련 및 마크다운 (1) | 2024.05.09 |
---|---|
쓰레드 (1) | 2024.04.26 |
예외처리 (1) | 2024.04.25 |
접근 제어자부터 다형성까지 (1) | 2024.04.24 |
배열부터 생성자 this까지 (0) | 2024.04.23 |