<Chapter03>
01. 문자열(전반전) (2:58:30)
02. 문자열(후반전) (3:10:56)
03. 문자열 비교 (3:22:07)
04. 특수 문자 (3:32:51)
<퀴즈 #3> (3:44:00)
문자열 전반전(길이, 대소문자 변환, 포함 관계)
public class _01_String1 {
public static void main(String[] args) {
String s = "I like Java and Phyton and C.";
System.out.println(s);
// 문자열의 길이
System.out.println(s.length()); // 29
// 대소문자 변환
System.out.println(s.toUpperCase()); // 대문자로 I LIKE JAVA AND PHYTON AND C.
System.out.println(s.toLowerCase()); // 소문자로 i like java and phyton and c.
// 포함 관계
System.out.println(s.contains("Java")); // 포함된다면 true
System.out.println(s.contains("C#")); // 포함되지 않는다면 false
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 (아니면 false)
System.out.println(s.endsWith(".")); // 이 문자열로 끝나면 true (아니면 false)
}
}
문자열 후반전(변환, 공백 제거, 결합)
public class _02_String2 {
public static void main(String[] args) {
String s = "I like Java and Phyton and C.";
// 문자열 변환
System.out.println(s.replace(" and", ",")); // " and" 를 "," 로 변환 / I like Java, Phyton, C.
System.out.println(s.substring(7)); // 인덱스 기준 7부터 시작하여 문장 출력(7이전 내용은 삭제) / Java and Phyton and C.
System.out.println(s.substring(s.indexOf("Java"))); // "Java" 가 시작되는 위치부터 끝까지 / Java and Phyton and C.
System.out.println(s.substring(s.indexOf("Java"), s.indexOf(".")));; // "Java" 시작 위치부터 끝 위치 직전까지 문장 출력 / Java and Phyton and C
// 공백 제거
s = " I love Java. ";
System.out.println(s); // I love Java.
System.out.println(s.trim()); // I love Java.
// 문자열 결합
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
}
}
문자열 비교(Java에서 문자열 내용 비교는 반드시 equals를 써야한다!)
public class _03_SrtingCompare {
public static void main(String[] args) {
// 문자열 비교
String s1 = "Java";
String s2 = "Python";
System.out.println(s1.equals(s2)); // false, 문자열 내용이 같으면 true 로 다르면 false
System.out.println(s1.equals("Java")); // true
System.out.println(s2.equals("python")); // false (대소문자 구분하여 다르다고 판단)
System.out.println(s2.equalsIgnoreCase("python")); // 대소문자 구분 없이 문자열 내용이 같은지 여부 체크
// 문자열 비교 심화
s1 = "1234"; // 벽에 붙은 메모지의 비밀번호 정보, 모든 사람이 하나를 본다. (참조)
s2 = "1234"; // s1과 s1는 참조가 같다.(같은 메모리)
System.out.println(s1.equals(s1)); // true (내용)
System.out.println(s1 == s2); // true (참조)
s1 = new String("1234"); // 고객 개인에게 주는 비밀번호 쪽지 정보
s2 = new String("1234"); // s1과 s2는 참조가 다르다. (다른 메모리)
System.out.println(s1.equals(s2)); // true (내용)
System.out.println(s1 == s2); // false (참조)
// Java에서 문자열 내용 비교는 반드시 equals를 써야한다!
}
}
특수문자
public class _04_EscapeSequence {
public static void main(String[] args) {
// 특수문자, 이스케이프 문자 (Escape Sequence, Escape Character, Special Character)
// \n : 줄바꿈
System.out.println("자바가\n너무\n재밌어요"); // 세줄에 나뉘어서 출력됨
// \t : 탭, 글자 위치가 깔끔하게 정리됨
System.out.println("해물파전\t9000원");
System.out.println("김치전\t8000원");
System.out.println("부추전\t8000원");
// \\ : \ 역슬래시
System.out.println("C:\\Program Files\\java"); // C:\Program Files\java로 출력
// \" : 큰따옴표
System.out.println("단비가 \"냐옹\" 이라고 했어요.");
// \' : 작은따옴표, 역슬래시 없이도 사용 가능
System.out.println("단비가 \'뭘 봐?\' 라는 표정을 지었어요.");
System.out.println("단비가 '뭘 봐?' 라는 표정을 지었어요.");
// char 하나의 문자를 저장하는 자료형은 ''를 사용
char c = 'A';
c = '\'';
System.out.println(c); // '
}
}
<퀴즈3>
문제:
주민등록번호에서 생년월일 및 성별까지만 출력하는 프로그램을 작성하시오.
정보:
-주민등록번호는 13자리의 숫자로 구성
-앞 6자리는 생년월일 정보, 뒷 7자리 중 첫 번째 숫자는 성별 정보
-입력 데이터는 -을 포함한 14자리의 문자열 형태
예시:
-"901231-1234567"인 경우 901231-1까지 출력
-"030708-4567890"인 경우 030708-4까지 출력
실행결과:
👉🏻 정답(소스코드 / 직접 작성)
아래 두가지 방법으로 작성 가능
public class _Quiz_03 {
public static void main(String[] args) {
String a = "901231-1234567";
String b = "030708-4567890";
System.out.println(a.substring(0, 8)); // 0 위치부터 8 위치 직전까지
System.out.println(a.substring(0,a.indexOf("-")+2)); // 0 위치부터 하이픈 위치 + 2 직전까지
}
}
'개발 > 부트캠프' 카테고리의 다른 글
본캠프 : Chapter 2 프로그래밍 기초 주차 - Java 문법 종합반 1 (0) | 2024.12.31 |
---|---|
본캠프 : Chapter 2 프로그래밍 기초 주차 - Git 기초 특강 2 (0) | 2024.12.31 |
본캠프 : JAVA 기초 유튜브 강의 수강_chap02_01-05 (0) | 2024.12.30 |
(토요일)주말에도 쓰는 TIL : JAVA 기초 유튜브 강의 수강_chap01_01-04 (1) | 2024.12.28 |
본캠프 : Chapter 1 온보딩 주차 - 미니 프로젝트 4일차_최종 점검 (1) | 2024.12.27 |