Java
[Java] 문자열
dalooong
2023. 7. 7. 10:48
‘나도코딩 JAVA 강의 수강’
- 문자열 (길이, 대소문자, 포함관계)
package chap_03;
public class _01_String {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
System.out.println(s);
// 문자열의 길이 알기
System.out.println(s.length()); //29자
//대소문자 변환
System.out.println(s.toUpperCase()); //전부다 대문자로
System.out.println(s.toLowerCase()); //전부다 소문자로
//포함 관계
System.out.println(s.contains("Java")); //Java가 포함되어있으므로 true
System.out.println(s.contains("C#")); //없으므로 false
System.out.println(s.indexOf("Java")); //java가 어디에 위치되어있는지, 첫글자는 0부터
System.out.println(s.indexOf("C#")); //포함되어있지않으므로 -1로 반환
System.out.println(s.indexOf("and")); //처음일치하는 and 위치정보
System.out.println(s.lastIndexOf("and")); // 마지막으로 일치하는 and 위치정보
System.out.println(s.startsWith("I like")); //이 문자열로 시작하는게 맞으면 true 출력, 아니면 false출력
System.out.println(s.endsWith(".")); //이 문자열로 끝나면 true, 아니면 false출력
}
}
- 문자열(문자열 반환,공백제거,결합)
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)); //인덱스 기준 7부터 시작(이전 내용은 잘라내고 출력함)
System.out.println(s.substring(s.indexOf("Java")));
System.out.println(s.substring(s.indexOf("Java"), s.indexOf("."))); //java로 시작해서 .직전까지 출력하고 뒤에는 삭제
//공백 제거
s = " I love Java. ";
System.out.println(s);
System.out.println(s.trim()); //앞뒤로 불필요한 공백 삭제해서 출력됨
//문자열 결합
String s1 = "Java";
String s2 = "Python";
System.out.println(s1 + s2); //두문장 결합 javapython
System.out.println(s1 + "," + s2); //두문장 사이에 콤마 넣기 java,python
System.out.println(s1.concat(",").concat(s2)); //java,python
}
}
- 문자열 비교
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")); //문자열 내용이 같으면 true, 다르면 false 출력
System.out.println(s2.equals("python")); //대소문자 구분됨
System.out.println(s2.equalsIgnoreCase("python"));
//대소문자 구분없이 문자열 내용이 같으면 true출력 equalsignorecase
//문자열 비교 심화
s1 = "1234"; //벽에 붙은 메모지의 비밀번호 정보 (참조)
s2 = "1234";
System.out.println(s1.equals(s2)); //true(내용) s1의 내용이 s2와 같으면 true, 틀리면 false
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나오는 이유?
}
}
- 특수문자, 이스케이프문자 Escape Sequence, Escape Character, Special Character)
package chap_03;
public class _04_EscapeSequence {
public static void main(String[] args) {
//특수문자, 이스케이프 문자(escape sequence, escape character, special character)
System.out.println("자바가");
System.out.println("너무");
System.out.println("재밌어요");
System.out.println("자바가\\n너무\\n재밌어요"); //문자열내에서 엔터치는거 \\n 사용
//해물파전 9000원
//김치전 8000원
//부추전 8000원
System.out.println("해물파전\\t\\t9000원");
System.out.println("김치전\\t8000원");
System.out.println("부추전\\t8000원"); //자동적으로 탭할때 \\t사용
// \\\\ : 역슬래시
System.out.println("C:\\\\Program Files\\\\Java"); // 역슬래시 두개 입력하면 한개만 출력 파일경로나 폴더경로 출력시사용
// 문장안에 큰따옴표, 작은따옴표 넣을때 역슬래시 사용 (" \\"\\" ") 퐁당퐁당 사용
System.out.println("담비가 \\"냐옹\\"이라고 했어요");
System.out.println("담비가 \\'뭘 봐?\\'라는 표정을 지었어요");
System.out.println("담비가 '뭘 봐?'라는 표정을 지었어요");
char c = 'A';
c = '\\''; //작은 따옴표 글자 한개만 출력하고 싶을 때
System.out.println(c);
}
}
- Quiz 03
package chap_03;
public class _Quiz_03 {
public static void main(String[] args) {
//"901231-1234567"인 경우 901231-1까지 출력
String s1 = "901231-1234567";
System.out.println(s1.substring(s1.indexOf("901231"), s1.lastIndexOf("2")));
System.out.println(s1.substring(0, 8)); //0자리부터 8자리까지 출력
System.out.println(s1.substring(0, s1.indexOf("-") + 2));//0위치부터 하이픈 위치 +2 직전까지 출력
}
}