일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 웹퍼블리셔
- php호스팅
- 마우스 오른쪽 버튼
- 문자열 뒤집기
- 홈페이지제작
- 무료호스팅
- 무료 홈페이지
- 무료
- 자바스크립트
- 퍼빌리셔
- 자바키워드
- 글자뒤집기
- 마우스오른쪽
- 새우편번호
- 웹퍼블리싱
- 클릭해제
- 무료제작
- 무료홈페이지
- postcodify
- 우체국 우편번호
- 무료사이트
- 무료 호스팅
- 우편번호 API
- 호스팅
- 복사방지
- 웹호스팅
- php
- 무료 홈페이지 제작
- 무료서버
- 무료 웹 호스팅
Archives
- Today
- Total
Developer Factory
16_2. JAVA 문자열 다루기. 생성자, 오버로딩 본문
package step01.exam03;
/*
* 문자열 다루기
* - C에서는 char[] 배열로 다룬다.
* - 자바에서도 char[] 배열로 다룬다.
* -> 내부의 복잡한 명령어를 감추고 (갭슐화)
* -> java.lang.String 클래스 제공
*/
public class Test01 {
public static void main( String[] args) {
// 스트링버퍼의 비교
StringBuffer s1 = new StringBuffer("나는 홍길동이다.");
StringBuffer s2 = new StringBuffer("나는 홍길동이다.");
// 주소가 같은지 비교
if( s1 == s2) System. out.println( "s1 == s2"); // X
// 주소 같은지 비교 => equals만 내용을 비교함.
if( s1. equals( s2)) System. out.println( "s1.equals(s2)"); // 0
}
public static void main08 ( String[] args) {
// 스트링의 비교
String s1 = new String( "나는 홍길동이다." );
String s2 = new String( "나는 홍길동이다." );
// 인스턴스가 같은지 비교 => 주소가 같은지 비교
if( s1 == s2) System. out.println( "s1 == s2"); // X
// 내용물이 같은지 비교
if( s1.equals( s2)) System. out.println( "s1.equals(s2)"); // 0
}
public static void main07 ( String[] args) {
// Heap에 있는 스트링 인스턴스를 Constant Poll에 복제하기
String s1 = new String( "나는 홍길동이다." );
String s2 = s1.intern(); // 상수풀에 복제한다.
String s3 = "나는 홍길동이다." ;
if( s2 == s3) System. out.println( "s2 == s3"); // o
}
public static void main06 ( String[] args) {
// 상수 스트링의 substring() 리턴값 => Heap에 저장된다.
String s1 = "나는 홍길동이다." ;
String s2 = s1.substring( 3);
String s3 = s1.substring( 3);
if( s2 == s3) System. out.println( "s2 == s3"); // X
}
public static void main05 ( String[] args) {
// 상수 스트링
// - new String() 의 단축 명령이다.
// - 상수 스트링으로 만든 인스턴스는 Constant Poll에 존재한다.
// - 중복해서 생성되지 않는다. => 메모리 절약 위해
String s1 = new String( "나는 홍길동이다." );
String s2 = "나는 홍길동이다." ; // => new String("나는 홍길동이다.")의 단축! 상수 스트링
String s3 = "나는 홍길동이다." ;
System. out.println( s1);
System. out.println( s2);
if( s1 == s2) System. out.println( "s1 == s2"); // X
if( s1 == s3) System. out.println( "s1 == s3"); // X
if( s2 == s3) System. out.println( "s2 == s3"); // 0
}
public static void main04 ( String[] args) {
// mutable vs immutable 테스트
// String 인스턴의 값은 변경된지 않는다! ==? immutable
String s1 = new String( "나는 홍길동이다." );
String s2 = s1.replace( "홍길동", "슈퍼맨" ); // 새 String 인스턴스 생성 후 리턴
System. out.println( s1);
System. out.println( s2);
// StringBuffer 클래스: mutable
StringBuffer s3 = new StringBuffer("나는 홍길동이다.");
s3.replace( 3, 6, "임꺽정");
System. out.println( s3);
}
public static void main03 ( String[] args) {
String s1 = new String( "나는 홍길동이다." );
System. out.println( s1.charAt( 3)); //해당 인덱스의 문자 찾기
System. out.println( s1.indexOf( '홍')); //해당 문자의 인덱스 찾기
// String 클래스의 indexOf 메소드를 호출하는데 함수 앞에 있는 변수의 s1 주소값을 indexOf 내부의
// 히든 변수 this라는 변수에 저장하고 this라는 변수를 이용하여
// indexOf의 파라미터로 넘어온 '홍'의 배열 위치를 찾는다
String s2 = s1.substring( 3); // 새 String 인스턴스를 생성하여 리턴
String s3 = s1.substring( 3); // 새 String 인스턴스를 생성하여 리턴
System. out.println( s2);
System. out.println( s3);
if( s2 == s3){
System. out.println( "s2 == s3");
} else{
System. out.println( "s2 != s3");
}
}
public static void main02 ( String[] args) {
String s1 = new String( "나는 홍길동이다." );
String s2 = new String( "나는 홍길동이다." );
// s1 과 s2는 주소가 다르다
if ( s1 == s2){
System. out.println( "s1 == s2");
} else{
System. out.println( "s1 != s2");
}
}
public static void main01 ( String[] args) {
String s1 = new String( "나는 홍길동이다." );
String s2 = s1;
String s3 = s2;
System. out.println( s3);
}
}
'Developer > Java' 카테고리의 다른 글
18. JAVA hashcord() (0) | 2014.07.03 |
---|---|
17. JAVA equals(),toString() (0) | 2014.07.03 |
16_1. JAVA 문자열 다루기. 생성자, 오버로딩 (0) | 2014.07.03 |
15. JAVA 인스턴스 변수와 클래스 변수의 이해 (0) | 2014.07.03 |
14. JAVA Class 분류 (0) | 2014.07.03 |