Java

[Java 자바] String 기본

코복이 2023. 8. 9. 14:28
728x90

 

public class StringExample {
public static void main(String[] args) {

String str = "안녕하세요";
String str2 = new String("안녕하세요");
String str3 = "안녕하세요";

boolean compare1 = str == str2;
boolean compare2 = str == str3;

// 주소 비교
System.out.println(compare1); // false 다른 주소
System.out.println(compare2); // true 같은 주소

// 내용 비교 (equals 메소드는 값 자체를 비교)
// ** 값을 비교할 때는 등호 대신 equals 를 쓰자
if(str.equals(str2)){
System.out.println("str.equals(str2)");
} //str.equals(str2)

if(str.equals(str3)){
System.out.println("str.equals(str3)");
} // str.equals(str3)

if(str2.equals(str3)){
System.out.println("str2.equals(str3)");
} // str2.equals(str3)


// 문자열 병합
// 1. "+" 연산자 활용

String str_1 = "Hello";
String str_2 = "World!";

System.out.println(str_1 + " " + str_2); // Hello World!

// 2. StringBuilder (메모리 관리에 효율적)
StringBuilder strbuilder = new StringBuilder("Hello ");
strbuilder.append("World"); // 빌더에 어팬드 붙여서 확장 (여러개도 가능)
strbuilder.append("!");

String newStr = strbuilder.toString(); // toString() 메소드로 string 으로 변환해줘야 함.

System.out.println(newStr); // Hello World!


// 문자열 슬라이스
String str_s1 = "12345";
System.out.println(str_s1.indexOf("1")); // 0 = 1번째 글자
System.out.println(str_s1.indexOf("2")); // 1 = 2번째 글자

String str_s2 = str_s1.substring(1,4); // 인덱스 1~3까지
System.out.println(str_s2); // 234


// 문자열 대소문자 변환
String str_small = "abc";
String str_big = "DEF";

str_small = str_small.toUpperCase(); // 대문자로 바꾸는 메소드
str_big = str_big.toLowerCase(); // 소문자로 바꾸는 메소드

System.out.println(str_small); // ABC
System.out.println(str_big); // def


// 공백 제거
// 1. 양쪽 끝 공백 제거 trim()
String str_b = " hi ";
String new_str1 = str_b.trim();
System.out.println(new_str1); // hi

// 2. 문자열 위치 상관없이 공백 제거 replace
String str_c = " h i ";
String new_str2 = str_c.replace(" ", ""); // 첫번재 인자 변경될 대상, 두번째 인자 변경 후 값
System.out.println(new_str2); // hi
}
}
728x90