19.04.15 String클래스 메소드, 정규 표현식, 배열정렬 및 검색, 박싱,언박싱
Back-End/Java 2019. 4. 15. 17:54-인코딩-
문자를 컴퓨터에 저장하거나 통신할 목적으로 부호화 하는것
-디코딩-
인코딩한 문자를 원래대로 되돌리는 것
-bytes 배열로 변환-
getBytes()메소드는 시스템의 기본 문자셋으로 인코딩된 바이트 배열을 리턴.
getBytes(Charset charset)메소드는 특정 문자셋으로 인코딩된 바이트 배열을 리턴할때 사용.
ㄴ잘못된 문자셋을 매개값으로 줄 경우, java.io.UnsupportedEncodingException 예외가 발생하므로
예외 처리가 필요하다.
-문자열 찾기 (indexOf())-
매개값으로 주어진 문자열이 시작되는 인덱스를 리턴.
-문자열 대치 (replace())-
replace()메소드는 첫 번째 매개값인 문자열을 찾아 두번째 매개값인 문자열로 대치한 새로운
문자열을 생성하고 리턴한다.
-문자열 잘라내기(substring())-
주어진 인덱스에서 문자열을 추출한다.
-알파벳 소,대문자 변경(toLowerCase(), toUpperCase())-
toLowerCase()메소드 : 문자열을 모두 소문자로 바꾼 새로운 문자열을 생성한 후 리턴한다.
toUpperCase()메소드 : 문자열을 모두 대문자로 바꾼 새로운 문자열을 생성한 후 리턴한다.
-문자열 앞뒤 공백 잘라내기(trim())-
문자열의 앞뒤 공백을 제거한 새로운 문자열을 생성하고 리턴한다.
-문자열 변환(valueOf())-
기본 타입의 값을 문자열로 변환하는 기능을 가지고 있다.
-라인 피트(/n)-
줄바꿈 문자
-캐리지 리턴(/r)-
행 앞으로 되돌아가는 데 사용되는 기능 키. 현재는 대부분 개행/복귀를 하도록 되어 있다.
-예제 및 출력 결과-
(여러가지 문자열 변환 메소드 사용)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 |
package com.hs.chap11;
public class StringIndexOfExample {
public static void main(String[] args) {
String name0 = "가나다라마바사아";
String name1 = "아저씨";
int indext = name0.indexOf("라마바");
int indexf = name1.indexOf("이한섭");
System.out.println("해당되는 문자열의 인덱스의 값 : " + indext);
System.out.println("해당되는 문자열이 없을때 인덱스의 값 : " + indexf);
String java = "자바 프로그래밍";
String java2 = java.replace("자바", "java");
System.out.println("원래 문자열 : " + java);
System.out.println("replace메소드 사용 변경된 문자열 : " + java2);
String ssn = "880815-1234567";
String firstNum = ssn.substring(0, 6); // 0번 인덱스부터 5번인덱스 까지 출력 (6개)
String secondNum = ssn.substring(5); // (0번~5번 까지는 출력안함) 6번 인덱스부터 마지막 인덱스 까지 출력
System.out.println(firstNum);
System.out.println(secondNum);
String name = "APPLE";
String ename = name.toLowerCase();
String hname = ename.toUpperCase();
System.out.println("원래 문자열 :" + name);
System.out.println("toLowerCase()메소드 사용 바뀐 소문자 문자열 :" + ename);
System.out.println("toUpperCase()메소드 사용 바뀐 대문자 문자열 :" + hname);
if (name.equals(ename)) {
System.out.println("두 문자열은 같습니다.");
} else {
System.out.println("두 문자열은 다릅니다.");
}
}
}
|
cs |
-정규 표현식-
문자 또는 숫자 기호와 반복 기호가 결합된 문자열이다.
문자열이 정해져 있는 형식으로 구성되어 있는지 검증할때 사용한다.
(ex 로그인할때 비밀번호 맞는지 확인, 등등등)
-예제 및 출력결과-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 |
package com.hs.chap11;
import java.util.regex.Pattern;
public class PatternExample {
public static void main(String[] args) {
String regExp = "(02|010)-(02|123)-(02|4567)";// (02또는010)-(02또는123)-(02또는4567)
String data = "010-123-4567";
boolean result = Pattern.matches(regExp, data); // 패턴 클래스의 매치메소드를 사용해서 regExp와 data를 비교
System.out.println(result);
if (result) {
System.out.println("전화번호가 같습니다.");
} else {
System.out.println("전화번호가 다릅니다.");
}
}
}
|
cs |
-배열 항목 정렬 및 검색-
Arrays.sort() 메소드 = 배열을 오름차순으로 정렬시킴
Arrays.binarySearch() 메소드 = 배열 항목 검색
-예제 및 출력 결과-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 |
package com.hs.chap11;
import java.util.Arrays;
public class Member {
public static void main(String[] args) {
String[] name = { "홍길동", "김길동", "임꺽정" };
for (int i = 0; i < name.length; i++) {
System.out.println("원래 배열의 원소 name[" + i + "]:" + name[i]);
}
Arrays.sort(name);
for (int i = 0; i < name.length; i++) {
System.out.println("재정렬된 배열의 원소 name[" + i + "]:" + name[i]); // 가나다 순서대로 김길동, 임꺽정, 홍길동 출력됨
}
int index0 = Arrays.binarySearch(name, "김길동");
int index1 = Arrays.binarySearch(name, "임꺽정");
int index2 = Arrays.binarySearch(name, "홍길동");// 임꺽정이라는 단어가 들어있는 인덱스 번호를 출력
System.out.println("인덱스 출력값 : " + index0);
System.out.println("인덱스 출력값 : " + index1);
System.out.println("인덱스 출력값 : " + index2);
}
} |
cs |
-박싱(Boxing)-
기본 타입의 값을 포장 객체로 만드는 과정
-언박싱(Unboxing)-
포장 객체에서 본 타입의 값을 얻어내는 과정
-예제 및 출력결과-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 |
package com.hs.chap11;
public class BoxingUnboxing {
public static void main(String[] args) {
Integer obj1 = new Integer(100); // Integer은 포장 클래스, 타입을 내부에 두고 포장함
int value1 = obj1.intValue(); // 언박싱
System.out.println("integer형 박싱한 값 : " + obj1);
System.out.println("integer형 언박싱한 값 : " + value1);
Character obj2 = new Character('가'); // Character은 포장 클래스, 타입을 내부에 두고 포장함
char value2 = obj2.charValue(); // 언박싱
System.out.println("Character형 박싱한 값 : " + obj2);
System.out.println("Character형 언박싱한 값 : " + value2);
Integer obj = 100; // 자동 박싱은 포장 클래스 타입에 기본값이 대입될 경우에 발생
int value4 = obj; // 자동 언박싱은 기본 타입에 포장 객체가 대입될 경우에 발생
System.out.println("integer형 자동 박싱한 값 : " + obj);
System.out.println("integer형 자동 언박싱한 값 : " + value4);
System.out.println("equals()결과 : " + obj.equals(value4));
Character obj5 = '나';
char value5 = obj5;
System.out.println("Character형 자동 박싱한 값 : " + obj5);
System.out.println("Character형 자동 언박싱한 값 : " + value5);
System.out.println("equals()결과 : " + obj5.equals(value5));
}
}
|
cs |
'Back-End > Java' 카테고리의 다른 글
19.04.17 제네릭,와일드카드 (0) | 2019.04.17 |
---|---|
19.04.16 멀티 스레드 (0) | 2019.04.16 |
19.04.14 객체 소멸자, 객체 비교, 동등 비교 등 (0) | 2019.04.14 |
19.04.12 API, java.lang / java.util 패키지, 해시코드 (0) | 2019.04.12 |
19.04.10 추상 클래스 / 메소드, 인터페이스 (0) | 2019.04.10 |