본문 바로가기
  • think normal
새로워지기/서른의 생활코딩

ex20) java_oop

by 청춘만화 2012. 2. 23.





//StringBuffer :메모리 절약 , string보다 빠르다.

public class Str01 {
public static void main(String[] args) {
StringBuilder s1 =new StringBuilder("Test");
StringBuilder s2 =new StringBuilder("ABCD");
s1.append(s2); //추가
System.out.println(s1);
System.out.println(s2);
s1.append(10); //추가
System.out.println(s1);
String s3 =new String("1234");
StringBuffer s4 = new StringBuffer(s3);
System.out.println(s4);
//Method and Description
//StringBuffer 자동적으로 공간을 할당받는다.
StringBuffer k1 =new StringBuffer();         //()만 입력하는경우
                                                                             // -> 기본적으로 16 문자열을 만들어준다.
System.out.println(k1.length());               //()=사용된 공간X
System.out.println(k1.capacity());            //16 문자열 갯수 공간 을 할당받았다.
k1.insert(0,"ABCD");                               //0번지부터"ABCD"를 넣어라
System.out.println(k1.length());               // k1.insert->4 문자열 갯수 출력
System.out.println(k1.capacity());            // 16 문자열 갯수 공간 을 할당받았다.
k1.insert(0,"12345678901123344");     // 0번지부터"12345678901123344"를 넣어라
System.out.println(k1.length());               // k1.insert->사용된 문자열 갯수 출력
System.out.println(k1.capacity());            // 34 문자열 갯수 공간 (자동확장)
//정의와 실제 사용이 다른경우
StringBuffer k2 =new StringBuffer(5);       //5개로 정의함
k2.append("123456");                            //실재로는 6개를
System.out.println(k2.length());  
System.out.println(k2.capacity());             //6개의 배수 형태로 추가 할당함  
//문자열로 
StringBuffer k3 =new StringBuffer("ABCD");  
System.out.println(k3.length());   
System.out.println(k3.capacity());  //6개의 배수 형태로 추가 할당함  
//객체로
StringBuffer k4 =new StringBuffer(new String("xyz"));
                                                                    //추후 사용할 필요가없을 경우 참조변수없이 바로 값저장
System.out.println(k4.length());   
System.out.println(k4.capacity()); 
k4.append(10.7);
System.out.println(k4);
System.out.println(k4.charAt(2)); 
System.out.println(k4.indexOf("10")); 
k4.insert(4,"_add_");                           //원하는 위치에 삽입
System.out.println(k4);
System.out.println(k4.toString());
k4.reverse();                                     //반대로
System.out.println(k4);
k4.setLength(5);                                //강제로 사이즈 조절
System.out.println(k4);
System.out.println(k4.substring(2));    //지정한 위치 "이후"로만 출력 
System.out.println(k4);                       //값 자체를 바꾼 것은 아니다.
System.out.println(k4.substring(2,4));  //지정한 위치  출력
StringBuffer k5 =new StringBuffer("       12345   7");//저장은 공백까지 된다.
System.out.println(k5);
//System.out.println(k5.trimToSize());//->void:리턴값이 없다.(도움말확인)
k5.trimToSize();
System.out.println(k5);                     //뒤에가 짜리나? 글쎄? 확인 필요 

 
StringBuffer str1= new StringBuffer("Hello, JAVA");
StringBuffer str2= new StringBuffer("안녕하세요, 자바");
System.out.println("버퍼1 내용 :"+str1);
System.out.println("버퍼1 크기 :"+str1.length());
System.out.println("버퍼1 용량 :"+str1.capacity()); 
System.out.println("버퍼2 내용 :"+str2);
System.out.println("버퍼2 크기 :"+str2.length());
System.out.println("버퍼2 용량 :"+str2.capacity()); 

 
//비교
String st1 = "새 천년 ";
String st2 = "대한 민국";
st1 = st1 + st2;
System.out.println(st1);
 
//=상동
StringBuffer st3 = new StringBuffer("새 천년 ");
st3.append("대한 민국");
System.out.println(s3);
}
}

'새로워지기 > 서른의 생활코딩' 카테고리의 다른 글

ex22) java_oop  (0) 2012.02.23
ex21) java_oop  (0) 2012.02.23
ex19) java_oop  (0) 2012.02.23
ex18) java_oop  (0) 2012.02.22
java _20120220  (0) 2012.02.22

댓글