Java: String

m_ngyeong·6일 전
0

Java

목록 보기
16/17
post-thumbnail

☕️ Java

String


charAt()

charAt()은 문자열에 index 값을 통해 문자를 읽어오는 방법으로 String 타입으로 받은 문자열을 char 타입으로 한 글자만 추출 해주는 함수이다.

String str = "안녕";
str.charAt(0); = 안
str.charAt(1); =

nextLine() / next()

  • nextLine(): Enter를 치기 전까지 쓴 문자열을 모두 리턴, 공백까지 읽어옴
  • next(): 공백 전까지 입력받은 문자열을 리턴

reverse()

reverse()은 저장되어 있는 문자열의 순서를 거꾸로 나열하는 메서드이다.
StringBuffer 클래스 또는 StringBuilder 클래스 통해 reverse()를 사용할 수 있다.

StringBuffer 클래스

Java에서 String 인스턴스로 생성된 문자열은 변경할 수 없지만, StringBuffer 클래스를 사용하면 변경이 가능하다. StringBuffer는 내부적으로 문자열을 편집할 수 있는 버퍼(buffer)를 유지하며, 인스턴스를 생성할 때 크기를 지정할 수도 있다.

🔎 주요 메서드

  • .append( ): StringBuffer 인스턴스가 저장하고 있는 문자열 뒤에 덧붙임
  • .delete(int start, int end): 시작 위치(start)부터 끝 위치(end) 사이에 있는 문자를 제거 (단, 끝 위치의 문자는 제외)
  • .deleteCharAt(int index): 지정된 위치(index)의 문자를 제거
  • .insert(int pos, String str): 두번째 매개변수로 받은 값을 문자열로 변환하여 지정된 위치(pos)에 추가 (pos는 0부터 시작)
  • .replace(int start, int end, string str): 지정된 범위(start ~ end)의 문자들을 주어진 문자열로 바꿈 (end 위치의 문자는 범위에 포함 되지않음!)
  • .reverse( ): 문자열의 순서를 거꾸로 나열
  • .setCharAt(int index, char ch): 지정된 위치의 문자를 주어진 문자(ch)로 바꿈
  • .toString( ): StringBuffer 인스턴스의 문자열을 String으로 반환
  • .subString(int start)/.subString(int start, int end): 지정된 범위 내의 문자열을 String으로 뽑아서 반환
public class Main {
	public static void main(String[] args) {
        
        String str = "abcde";
        StringBuffer sb = new StringBuffer(str);
        sb.reverse().toString();
        
        System.out.println(sb);
    }
}

StringBuilder 클래스

StringBuffer는 멀티스레드 환경에서 안전하도록 동기화(synchronization)되어 있다. 그러나 멀티스레드를 사용하지 않는 프로그램에서는 이 동기화 기능이 불필요한 성능 저하를 초래할 수 있다.

이를 해결하기 위해 StringBuffer에서 동기화 기능만 제거한 StringBuilder가 제공된다. 두 클래스는 동일한 기능을 갖고 있으므로, 단일 스레드 환경에서는 StringBuffer 대신 StringBuilder로 간단히 대체할 수 있다.

int num = 1234;

new StringBuilder()       // StringBuilder 객체 생성
    .append(num)         // "1234" 추가
    .reverse()            // "4321"으로 변환
    .toString()           // 문자열 변환 → "4321"
Integer.parseInt("4321")  // 정수 변환 → 4321
  • new StringBuilder(): 문자열을 변경할 수 있도록 제공되는 클래스
  • .append(num): num 값을 StringBuilder에 추가. num이 숫자라면, String.valueOf(num)이 내부적으로 호출되어 문자열로 변환됨
  • .reverse(): StringBuilder 내부의 문자열을 뒤집음(반전)
  • .toString(): StringBuilder를 일반 String으로 변환
  • Integer.parseInt(...): 문자열을 정수(int)로 변환


참고,
https://velog.io/@jmjgirl/JAVA-문자열-뒤집기-reverse

profile
ʚȉɞ

0개의 댓글

관련 채용 정보