JAVA 9강_2_String 클래스 (주소값, 대소문자 변경, 문자열 길이의 정수값, 결합, 특정 문자 추출)

열라뽕따히·2024년 2월 25일

JAVA

목록 보기
55/79

String 클래스의 특징

: 문자열 객체를 처리하는 클래스

객체 생성 방법 - 2가지

  • 일반 변수 선언 방법으로 객체 생성
    ex)
    String str1 = "홍길동";
    String str2 = "홍길동";
  • new 키워드를 이용하여 객체 생성
    ex)
    String str3 = new String("홍길동");
    String str4 = new String("홍길동");





<예시1>

=============================코드=============================

// 1. 일반 변수 선언 방법으로 객체 생성
		String str1 = "홍길동";
		String str2 = "홍길동";
		
	    System.out.println("str1 주소값 >>> " + str1);
	    
	    System.out.println("str1 주소값 >>> " + System.identityHashCode(str1));
	    System.out.println("str1 주소값 >>> " + System.identityHashCode(str2));
	    
	    System.out.println();
	    
// 2. new 키워드를 이용하여 객체 생성
	    String str3 = new String("홍길동");
		String str4 = new String("홍길동");
	    
	    System.out.println("str1 주소값 >>> " + System.identityHashCode(str3));
	    System.out.println("str1 주소값 >>> " + System.identityHashCode(str4));

=============================실행=============================





<예시2>

문자열의 값이 다르다면 주소값이 다름!
문자열의 주소값을 알아내는 방법 : System.identityHashCode(변수)




=============================코드=============================

public static void main(String[] args) {
		
		String str1 = "Hello";
		
		String str2 = "java";
		
		// 문자열의 값이 다르기 때문에 str1과 str2 주소값이 다르다!
		System.out.println("str1 주소 >>> " + System.identityHashCode(str1));
		System.out.println("str1 주소 >>> " + System.identityHashCode(str2));
		
		// 문자열 결합(+)
		str1 += str2;   // str1 = str1 + str2;
		System.out.println("str1 주소 >>> " + System.identityHashCode(str1));

	}

=============================실행=============================





<예시2>

  • toUpperCase( ) : 소문자를 대문자로 변경
  • toLowerCase( ) : 대문자를 소문자로 변경
  • length( ) : 문자열의 길이를 정수값으로 변환
  • concat( ) : 문자열을 결합
  • equalsIgnoreCase( ) : 대소문자를 구분하지 않음
  • charAt(index) : 문자열에서 특정 단일 문자를 추출



=============================코드=============================

public static void main(String[] args) {
		
		// 1. toUpperCase() : 소문자 -> 대문자
		//    toLowerCase() : 대문자 -> 소문자
		
		String str = "java program";
		
		// 데이터 값은 그대로이나 보여지는 것만 달라진 것!
		System.out.println("str 문자열을 대문자로 변환 >>> " + str.toUpperCase()); 
		System.out.println("str 문자열을 소문자로 변환 >>> " + str.toUpperCase().toLowerCase());
		
		System.out.println();
		
		// 2. length() : 문자열의 길이를 정수값으로 반환해주는 메서드
		System.out.println("str 문자열의 길이 >>> " + str.length());
		
		System.out.println();
		
		// 3. concat() : 문자열을 결합하는 메서드
		String str1 = "JAVA";
		String str2 = str1.concat("PROGRAM");
		
		System.out.println("str2 문자열 결합 결과 >>> " + str2);
		
		// 4. equalsIgnoreCase() : 대소문자를 구분하지 않는 메서드
		if(str.equalsIgnoreCase(str2)) {
			System.out.println("두 문자열은 같은 문자열이다.");
		}else {
			System.out.println("두 문자열은 다른 문자열이다.");
		}
		System.out.println();
		
		// 5. charAt(index) : 문자열에서 특정 단일 문자를 추출하는 메서드
		String juminNo = "123456-2345678";
		
		char gender = juminNo.charAt(7);
		
		if(gender == '1' || gender == '3') {
			System.out.println("당신은 남자입니다!");
		}else if(gender == '2' || gender == '4') {
			System.out.println("당신은 여자입니다!");
		}else {
			System.out.println("당신은 외국인입니다.");
		}

	}

=============================실행=============================

0개의 댓글