문자열
- len / upper / lower / contains / index / lastIndex / startCheck / endCheck
package chap_03;
public class _01_String1 {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
System.out.println(s);
System.out.println(s.length());
System.out.println(s.toUpperCase());
System.out.println(s.toLowerCase());
System.out.println(s.contains("Java"));
System.out.println(s.contains("C#"));
System.out.println(s.indexOf("Java")); // 7
System.out.println(s.indexOf("C#")); // -1
System.out.println(s.indexOf("and")); // 12
System.out.println(s.lastIndexOf("and")); // 23
System.out.println(s.startsWith("I like")); // 시작하면 True
System.out.println(s.endsWith(".")); // 끝나면 True
}
}
package chap_03;
public class _02_String2 {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
System.out.println(s.replace("and", ",")); // 변환
System.out.println(s.substring(7)); // 슬라이싱
System.out.println(s.substring(s.indexOf("Java")));
System.out.println(s.substring(s.indexOf("Java"), s.indexOf("Python")));
s = " I love Java ";
System.out.println(s);
System.out.println(s.trim()); // 공백제거
String s1 = "Java";
String s2 = "Python";
System.out.println(s1 + s2);
System.out.println(s1 + "," + s2);
System.out.println(s1.concat(",").concat(s2)); // join
}
}
- 문자열 비교
- == 연산자 비교는 메모리 공간이 동일할 때 가능 즉, String 다른 걸로 초기화 해두고 참조를 해서 비교했을 경우 문제가 발생하지 않지만,
- new String을 통해서 메모리 공간을 새로 할당하게 되면 False가 발생 문자열 비교할 때는 equals 쓰자!
package chap_03;
public class _03_StringCompare {
public static void main(String[] args) {
String s1 = "Java";
String s2 = "Python";
System.out.println(s1.equals("Java")); // 동일 비교
System.out.println(s1.equals("Python"));
System.out.println(s1.equalsIgnoreCase("java")); // 대소문자 상관 없이
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
s1 = "1234"; // 참조
s2 = "1234";
System.out.println(s1.equals(s2)); // True 내용 비교
System.out.println(s1 == s2); // True 참조 비교
s1 = new String("1234");
s2 = new String("1234");
System.out.println(s1.equals(s2)); // True
System.out.println(s1 == s2); // False 메모리 공간이 다르면 False가 나옴
}
}
package chap_03;
public class _04_EscapeSequence {
public static void main(String[] args) {
// 특수문자, 이스케이프 문자
// \\n 줄바꿈 \\t 탭 \\\\ \\" \\' 얘네 인식
System.out.println("자바가 \\n너무 \\n재미써요");
System.out.println("해물파전\\t\\t9000원");
System.out.println("김치전\\t\\t8000원");
System.out.println("부추전\\t\\t7000원");
}
}