19.04.15 String클래스 메소드, 정규 표현식, 배열정렬 및 검색, 박싱,언박싱

Back-End/Java 2019. 4. 15. 17:54
728x90
반응형


-인코딩-


문자를 컴퓨터에 저장하거나 통신할 목적으로 부호화 하는것



-디코딩-


인코딩한 문자를 원래대로 되돌리는 것



-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



  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

 

 

 

728x90
반응형
: