- 문자열을 모두 대문자로 바꾸려면?
str = str.toUpperCase();
- 문자(Character)를 대문자로 바꾸려면?
char t = Character.toUpperCase(t);
- 문자열을 배열로 만드는 법
str.toCharArray()
- 향상된 for문 쓰기
for(char x : str.toCharArray())
{
if (x==t)
answer++;
}
for문에 리스트, 배열 형식을 넣어주어야 한다.
- StringBuilder
String 연산이 많아질 때, String에서는 계속해서 새로운 객체를 생성하면서 문자열이 변경되는데,
StringBuilder를 사용하면 객체를 하나만 가지고도 문자열을 변경할 수 있다.
예 : 문자열을 뒤집고 싶을 때
String tmp = new StringBuilder(x).reverse().toString(); // 문자열객체
- 띄어쓰기 포함된 문자열을 분리하고 싶을 때
(1) indexOf
중복되는 문자가 존재할 때, 제일 앞에 있는 문자의 순서를 출력한다.
문자열을 띄어쓰기 기준으로 분리를 하고 싶다면, 다음과 같이 코드 작성을 하면 된다.
while((pos = str.indexOf(' ')) != -1)
{
String tmp = str.substring(0, pos);
...
str = str.substring(pos+1); // pos 부터 다시 시작!
}
띄어쓰기가 있다면 해당 자리를 int형 변수인 pos에 반환하고, 띄어쓰기가 없다면 -1을 반환한다.
(2) split() 함수 이용
- 대소문자를 구분하지 않을 때 문자열 비교
str.equalsIgnoreCase(tmp)
- 알파벳이 아닌 문자 제거
-> 모두 대문자로 바꾼 후 알파벳이 아닌 문자(특수 문자)인 경우 문자열에서 제거한다.
s=s.toUpperCase().replaceAll("[^A-Z]", "");
- char형태의 문자가 숫자인지 판단하고 싶을 때
if (Character.isDigit(x))
- 둘 중 작은 값을 표현하고 싶을 때
answer[i] = Math.min(answer[i], p);
- 문자열을 이진수 정수로 받은 후, 이를 10진수로 표현하고 싶을 때
int num = Integer.parseInt(tmp, 2);