[자바] 문자열(String)

Dragony·2020년 6월 11일
1

자바

목록 보기
1/4

자바에서 문자열에 해당하는 자료형은 String이다.
다음과 같이 선언할 수 있다.


String str = "hello world";
String str1 = new String("hello world");

new라는 키워드는 객체를 만들 때 사용한다.
하지만 보통 문자열을 표현할 때는 가급적 첫번째 방식(lieral 표기)을 사용하는 것이 좋다. 첫 번째 처럼 사용하면 가독성에 이점이 있고, 컴파일 시 최적화에 도움이 된다.

primitive(원시) 자료형

int, long, double, float, boolean, char 등을 자바는 primitive 자료형이라고 부른다. 이런 primitive 자료형은 new 키워드로 생성할 수 없다.

primitive 자료형은 다음과 같이 리터럴(literal)로 값을 생성할 수 있다.
(※리터럴은 계산 식 없이 소스코드에 표기하는 상수 값을 의미한다.)


boolean result = true;
char capitalC = 'C';
int i = 1000;
        

string은 리터럴로 표기가 가능하지만, primitive 자료형은 아니다. 그저 리터럴 표현식을 사용할 수 있도록 자바에서 특별 대우해주는 자료형이다.

string 자료형에는 몇가지 유용한 메소드들이 있는데 자주사용되는 것만 몇가지 알아보도록 하자.

equals

equals는 두개의 문자열이 동일한 값을 가지고 있는지를 비교하여 결과값을 리턴한다.


		String str = "hello world";
		String str1 = new String("hello world");
		String str2 = "hello";

		System.out.println(str.equals(str1));
		System.out.println(str.equals(str2));
		

결과는 true, false 가 나온다.
문자열의 값을 비교할때는 반드시 equals를 사용해야 한다.
== 연산자를 이용하면 제대로 결과가 나오지 않는데, ==는 두개의 자료형이 동일한 객체인지를 판별할 때 사용하는 연산자이기 때문에 false를 리턴하게 되는 것이다.

indexOf

indexOf는 문자열에서 특정 문자가 시작되는 인덱스를 리턴한다.


System.out.println(str.indexOf("world"));

결과값은 6이다.

replaceAll

replaceAll은 문자열 중 특정 문자를 다른 문자로 바꾸고 싶을 경우에 사용한다.


		System.out.println(str.replaceAll("world", "java"));
		System.out.println(str);
		

하지만 원본은 유지된다.

subString

subString은 문자열 중 특정 부분을 뽑아낼 경우에 사용한다.
subString(시작위치,끝 위치) 와 같이 사용하면 문자열의 시작위치에서 끝 위치 까지의 문자를 뽑아내게 된다. 단 끝 위치는 포함이 안된다는 점에 주의하자.
이것은 파이썬의 슬라이싱과 동일하다.

toUpperCase

toUpperCase는 문자열을 모두 대문자로 변경하고자 할 때 사용한다.
(모두 소문자로 변경할때는 toLowerCase를 사용하면 된다.)
원본은 바뀌지 않는다.


		System.out.println(str.toUpperCase());
        
profile
안녕하세요 :) 제 개인 공부 정리 블로그입니다. 틀린 내용 수정, 피드백 환영합니다.

0개의 댓글