■ 문자열
String fw1 = "공격수";
String fw2 = "공격수";
String fw3 = new String("공격수");
String fw4 = new String("공격수");
System.out.println(fw1 == fw2); // true
System.out.println(fw1 == fw3); // false
System.out.println(fw3 == fw4); // false
String 클래스는 String 객체를 만드는데 이용 되며 fw1과 fw2는 "공격수" 라는 서로 같은 주소값을 가르키지만 fw3과 fw4는 각 각 새로운 String 객체를 만드는 것이기에 서로 다른 주소값을 가지게 된다
● indexOf & lastIndexOf
indexOf는 문자열에서 특정 문자가 시작되는 위치를 리턴하는것이고 lastIndexOf는 특정 문자의 마지막 위치를 리턴하는 것이다
String str = "안녕하세요 어서오세요";
System.out.println(str.indexOf("서")); // 0부터 시작하여 "서"는 7에 위치하며 공백도 문자로 인식함
System.out.println(str.lastIndexOf("요")); // 4에 해당하는 "요" 가 아닌 10에 해당하는 "요" 를 나타내준다
● substring
해당 문자열에서 시작지점과 자를 지점을 지정하여 문자열을 잘라준다
String address2 = "부산시 동래구 사직동";
String subAddress = address2.substring(0, 4); // 자를 지점의 입력한 숫자 앞까지 출력해준다
System.out.println(subAddress); // 공백을 포함한 "부산시 " 가 출력된다
● equals
두개의 문자열이 동일한지 비교하여 결과를 리턴해준다
String x = "상의";
String y = "하의";
String z = "상의";
System.out.println(x.equals(y)); // false
System.out.println(x.equals(z)); // true
● replace
특정한 문자를 원하는 문자로 바꾸고 싶을때 사용한다
String address3 = "부산광역시 서구 부민동";
String replaceAddress = address3.replace('서', '동');
System.out.println(replaceAddress); // 결과값 : 부산광역시 동구 부민동
● replaceAll
문자열에서 특정한 문자를 다른 문자로 바꾸고 싶을때 사용한다
String address3 = "부산광역시 서구 부민동";
String replaceAddress2 = address3.replaceAll("부산광역시", "대구광역시");
System.out.println(replaceAddress2); // 결과값 : 대구광역시 서구 부민동
● StringBuilder
String은 불변이기때문에 한번 선언을 하면 값을 변경 할 수 없다, 연산이 많아질수록 String 객체를 새로 생성하여 속도가 느려져 비효율적이게 되므로 그때 StringBuilder를 사용할 수 있다. StringBuilder는 값을 변경할 수 있으며 동일 주소값에서 연산을 수행 할 수 있다
String names = "손흥민님, 김민재님, 황희찬님, 이강인님";
StringBuilder StringBuilder = new StringBuilder();
StringBuilder.append(names.substring(0, 3))
.append("/")
.append(names.substring(6, 9))
.append("/")
.append(names.substring(12, 15))
.append("/")
.append(names.substring(18, 21));
System.out.println(StringBuilder); // 결과 : 손흥민/김민재/황희찬/이강인
// append를 사용하여 names를 추가하고 substring으로 해당 문자열을 자른뒤 append를 활용하여
자른 문자열 뒤에 / 를 추가해보았다
Today short review
조금 복잡해지면 어떻게 해야되나 모르는 경우가 많아졌다
그런 부분을 중점으로 다시 공부 해볼 필요가 있는거 같다
혹시 틀린부분이나 잘못 알고 있는 부분이 있다면 알려주시면 감사하겠습니다
'JAVA' 카테고리의 다른 글
자바 반복문 - for & while (0) | 2023.03.30 |
---|---|
자바 조건문 - if & switch (0) | 2023.03.29 |
연산자 (0) | 2023.03.21 |
상수와 형변환 (0) | 2023.03.17 |
변수의 기본형과 참조형 (0) | 2023.03.16 |