1. 문자열(전반)
package chap_03;
public class _01_String1 {
public static void main(String[] args) {
String s = "I live 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")); // 포함된다면 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)
}
}
요약
s.length() : 문자열의 길이
s.toUpperCase() : 대문자로 출력
s.toLowerCase() : 소문자로 출력
s.contains() : 문자의 포함 여부를 확인할 때 사용(포함되는 경우 true, 포함되지 않을경우 false 출력)
s.indexOf : 문자열의 위치정보 출력(포함되지 않는 문자열을 입력하는 겨웅 -1을 출력)
s.lastIndexOf : 마지막에 일치하는 문자열의 위치 정보 출력
s.startWith : 해당 문자열로 시작하는지에 대해서 참 거짓 출력
s.endWith : 해당 문자열로 끝나는 경우에 대해서 참 거짓 출력
2. 문자열(후반)
package chap_03;
public class _02_String2 {
public static void main(String[] args) {
String s = "I live java and Python and C.";
// 문자열 변환
System.out.println(s.replace("and", ",")); // "and"를 ","로 변환
System.out.println(s.substring(7)); // 인덱스 기준 7부터 시작 (이전 내용은 삭제)
System.out.println(s.substring(s.indexOf("java"))); // "java"가 시작 하는 위치부터, "."이 시작하는 위치 바로 앞까지
System.out.println(s.substring(s.indexOf("java"), s.indexOf("."))); // 시작 위치부터 끝 위치 "직전"
// 공백 제거
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
}
}
요약
s.replace("1", "2") : 1번의 문자열을 2번 문자로 변환
s.substring(시작위치) : 시작 위치부터 끝가지 문자열을 출력(이전 내용은 삭제)
s.trim() : 앞 뒤 공백 제거
s.concat() : 문자열을 결합 할때 사용
3. 문자열 비교
package chap_03;
public class _03_StringCompare {
public static void main(String[] args) {
// 문자열 비교
String s1 = "Java";
String s2 = "Pyton";
System.out.println(s1.equals("Java")); // 문자열 내용이 같으면 true, 다르면 false
System.out.println(s2.equalsIgnoreCase("python")); // 대소문자 구분 없이 문자열 내용이 같은지 여부 체크
// 문자열 비교 심화
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
}
}
요약
s.equlas : 문자열이 같은지 비교할 때 사용(같으면 true, 다르면 false 출력)
※추가적으로 equlas()와 ==은 다르다.
1. equlas()은 문자열을 비교하는 경우에만 사용한다.
2. ==은 문자열의 주소를 비교할 경우에 사용한다.
4. 특수문자
package chap_03;
public class _04_EscapeSequence {
public static void main(String[] args) {
// 특수무자, 이스케이프 문자 (Escape Sequence, Escape Character, Special Charater)
System.out.println("자바가");
System.out.println("너무");
System.out.println("재밌어요");
System.out.println("자바가\n너무\n재밌어요");
// \n : 줄바꿈
// \t : 탭
// 해물파전 9000원
// 김치전 8000원
// 부추전 8000원
System.out.println("해물파전\t\t9000원");
System.out.println("김치전\t\t8000원");
System.out.println("부추전\t\t8000원");
// \\ : 역슬래시
System.out.println("C:\\Program Files\\Java");
// \" : 큰따움표
// 단비가 "냐옹" 이라고 했어요
System.out.println("단비가 \"냐옹\" 이라고 했어요");
// \' : 작은따움표
System.out.println("단비가 \'뭘봐?\' 이라고 했어요");
System.out.println("단비가 '뭘봐?' 이라고 했어요");
char c = 'A';
c = '\'';
System.out.println(c);
}
}
요약
\n : 줄바꿈
\t : 탭
\\ : 역슬래시
\" : 큰따움표
\' : 작은따움표
5. 퀴즈
문제
- 주민등록번호에서 생년월일 및 성별까지만 출력하는 프로그램을 작성하시오.
참고
- 주민등록번호는 13자리의 숫자로 구성
- 앞 6자리는 생년월일 정보, 뒷 7자리 중 첫 번째 숫자는 성별 정보
- 입력 데이터는 -을 포함한 14자리의 문자열 형태
예시
- "901231-1234567"인 경우 901231-1까지 출력
- "030708-4567890"인 경우 030708-4까지 출력
package chap_03;
public class _Quiz03 {
public static void main(String[] args) {
String a = "901231-1234567";
String b = "030708-4567890";
System.out.println(a.substring(0, 8));
System.out.println(a.substring(0, a.indexOf("-") + 2)); // 9위치부터 - 위치 +2 직전까지
System.out.println(b.substring(0, b.indexOf("-") + 2)); // 0위치부터 - 위치 +2 직전까지
System.out.println(b.substring(0, 8));
}
}
'프로그래밍 > Java' 카테고리의 다른 글
나도코딩 - 자바 코딩 무료 강의(기본편) - chap_02 (0) | 2024.10.26 |
---|---|
나도코딩 - 자바 코딩 무료 강의(기본편) - chap_01 (4) | 2024.10.07 |