java학습7(152-165)--String클래스와StringBuffer,StringBuilder

13022 단어 StringBuilder
1. 문자열 스트링
한 대상인데,
가장 큰 특징은 일단 초기화되면 바꿀 수 없다. 바뀌어도 바늘만 바뀐다.
상수도에 이미 존재하는 데이터는 더 이상 공간을 열지 않는다. 즉, 두 번째'abc'는 같은 대상을 가리킨다.
 
 
1.1 얻다
1.1.1 문자열에 포함된 문자수, 즉 문자열의 길이
    int length();길이 얻기
1.1.2 위치에 따른 특정 문자 가져오기
    char charAt(int index);
1.1.3 문자열에서 문자의 위치를 가져옵니다.
int indexof (int ch):ch가 문자열에서 처음 나타나는 위치를 되돌려줍니다
int indexof (int n, int fromIndex):fromIndex가 지정한 위치에서 시작하여ch가 문자열에 나타나는 위치를 가져옵니다
int indexof(String str): 문자열에 처음 나타나는 str의 위치를 반환합니다.
int indexof(String str, int fromIndex):fromIndex가 지정한 위치부터 문자열에 str가 나타나는 위치를 가져옵니다.
int lastIndexof (int ch): 위치를 거꾸로 가져오기
1.2 판단
1.2.1 문자열에 하위 문자열이 포함되어 있는지 여부
    boolean contains(str)
특이점: indexOf (str)는 str의 첫 번째 위치를 인덱스할 수 있습니다. -1로 되돌아오면 이 str가 문자열에 존재하지 않기 때문에 지정한 문자열에 포함될지 여부를 판단하는 데도 사용할 수 있습니다.
    if(str.indexOf("aa")!=-1)
그리고 이 방법은 판단할 수도 있고 출현 위치도 얻을 수 있다
1.2.2 문자열에 내용이 있는지 여부
    boolean isEmpty();원리는 길이가 0인지 아닌지를 판단하는 것이다
1.2.3 문자열이 지정된 내용으로 시작되는지 여부
    boolean statsWith(str);
1.2.4 문자열이 지정된 내용으로 끝날지 여부
    boolean endsWith(str);
1.2.5 문자열의 내용이 같은지 판단한다.Object 클래스의 equals 덮어쓰기 방법
    boolean equals(str)
1.2.6 내용이 동일한지 판단하고 대소문자 무시
    boolean equalsIgnoreCase();
 
1.3 변환
1.3.1 문자 배열을 문자열로 변환
구조 함수:String(char[])
String(char[], offset, count): 문자 배열의 일부를 문자열로 변환
정적 방법: static String copyValue Of(char[]),
           static String copyValueOf(char[] data,int offset,int count)
           static String valueOf(char[]);
1.3.2 문자열을 문자열 배열로 변환
    char[] toCharArray();
1.3.3 바이트 그룹을 문자열로 변환
    String(byte[])
String(byte[],offset,count): 바이트 배열의 일부를 문자열로 변환
1.3.4 문자열을 바이트 그룹으로 변환
    byte[] getBytes();
1.3.5 기본 데이터 형식을 문자열로 변환
     static String valueOf(int)
     static String valueOf(double)
 
1.4 교체
  String replace(old char,newchar)
새 열을 되돌려줍니다. 원래 열은 변하지 않습니다.
대체 문자가 존재하지 않습니다. 원래 문자열로 돌아갑니다.
 
1.5. 절단
  String[] split(regex);
 
1.6 하위 문자열
문자열의 일부분 가져오기
  String subString(begin);//지정된 위치에서 끝까지
  String subString(begin,end);//머리와 꼬리를 포함하지 않기 때문에 전체 문자열은 0부터 String까지입니다.length
 
1.7 변환, 공백 제거, 비교
1.7.1 문자열을 대문자 또는 소문자로 변환
    String toUpperCase();
    String toLowerCase();
1.7.2 문자열의 양 끝에 있는 여러 공백을 제거한다
    String trim()
1.7.3 두 문자열의 자연 순서 비교
    int compareTo(string);
 1 package learn;

 2 /*

 3  *  

 4  *  

 5  * */

 6 public class StringTest3 {

 7     public static String getMaxSubString(String s1,String s2)

 8     {

 9         String max="",min="";

10         max=(s1.length()>s2.length()?s1:s2);

11         min=(max==s1?s2:s1);

12         for(int x=0;x<max.length();x++)

13         {

14             for(int y=0,z=min.length()-x;z!=min.length()+1;y++,z++)

15             {

16                 String temp=min.substring(y,z);

17 //                sop(temp);

18                 if(s1.contains(temp))//if(s1.indexof(temp)!=-1)

19                     return temp;

20             }

21         }

22         return "";

23     }

24     public static void main(String[] args) {

25         String s1="abcwerthelloyuiodef";

26         String s2="cvhellobnm";

27         sop(getMaxSubString(s1,s2));

28     }

29     public static void sop(String str)

30     {

31         System.out.println(str);

32     }

33 }

 
 
1.8、StringBuffer
문자열 버퍼입니다. 용기입니다.
특징
(1) 길이 변경 가능
(2) 여러 데이터 형식을 바이트로 조작할 수 있다
(3) 최종적으로 toString 방법으로 문자열을 프로그래밍합니다
1.8.1.저장 장치
StringBuffer append(): 지정된 데이터를 기존 데이터의 끝에 매개변수로 추가
StringBuffer insert(index, 모든 데이터 유형);지정한 index 위치에 데이터를 삽입할 수 있습니다
1.8.2.삭제
StringBuffer delete(start, end): 버퍼에 있는 데이터를 삭제합니다. start를 포함하고 end를 포함하지 않습니다.
StringBuffer deleteCharAt(index): 지정된 위치의 문자 삭제
1.8.3.얻다
  char charAt(int index);
  int indexOf(String str);
  int lastIndexOf(String str);
  int length();
  String substring(int start,int end)
1.8.4.수정
  StringBuffer replace(start,end,string)
  void setCharAt(ine index,char ch)
1.8.5.반전
  StringBuffer reverse();
1.8.6 버퍼에 지정된 데이터를 지정된 배열에 저장
  getChar(int srcBegin, int srcEnd, char[] dst, int dstBegin);
JDK1.5 이후에 StringBuilder가 나타났는데 StringBuffer 스레드가 동기화되는 것과 달리 StringBuilder 스레드가 동기화되지 않습니다.
 1 package learn;

 2 

 3 public class StringBufferDemo {

 4     public static void main(String[] args)

 5     {

 6         StringBuffer sb=new StringBuffer();

 7         sb.append("abc").append(true).append(34);

 8         

 9         sb.insert(1,"qq");

10         sop(sb.toString());

11     }

12     public static void sop(String str)

13     {

14         System.out.println(str);

15     }

16 }

 
1.9 업그레이드의 세 가지 요소
(1) 효율성 향상
(2) 간략하게 쓰기
(3) 보안 강화
 
2. 기본 데이터 유형 대상 포장 유형
int Integer
char Character
다른 건 다 이니셜이에요.
가장 흔한 작용
기본 데이터 형식과 문자열 사이의 변환에 사용합니다
기본 데이터 형식을 문자열로 바꾸기
기본 데이터 유형 + ""
기본 데이터 유형.toString(기본 데이터 유형 값);
예: Integer.toString(34);//34를'34'로 돌리기;
문자열을 기본 데이터 형식으로 바꾸기
  xxx a = Xxx.parseXxx(String);//정적 호출 방식
  int a = Int.parseInt("123");
  double b = Double.parseDouble("12.23");
  boolean b = Boolean.parseBoolean("true");
 
  Integer i = new Integer("123");//비정상, 대상 호출 방식
  int num = i.intValue();
십진법을 다른 진법으로 바꾸다
  toBinaryString();
  toHexString();
  toOctalString();
기타 진법을 10진법으로 바꾸다
  parseInt(String,radix);
 1 package learn;

 2 

 3 public class IntegerDemo {

 4     public static void main(String[] args) {

 5         Integer x=4;

 6         x=x/*x.intValue()*/+2;// , , x

 7         Integer m=128;

 8         Integer n=128;

 9         sop("m==n:"+(m==n));//false

10         

11         Integer a=127;

12         Integer b=127;

13         sop("a==b:"+(a==b));//true  a b 

14                             // byte , , ,  

15     }

16     public static void sop(String str)

17     {

18         System.out.println(str);

19     }

20 

21 }

좋은 웹페이지 즐겨찾기