Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

[3주차] 60. String 클래스의 멤버함수(메서드) 한방에 정리*** 본문

K-DigitalTraining 강의/1. Java

[3주차] 60. String 클래스의 멤버함수(메서드) 한방에 정리***

이대곤 2022. 6. 2. 11:17

1. length() : 문자열의 길이 반환

public class testString2 {
	public static void main(String[] args) {
		String s1 = new String("apple");
        
		System.out.println(s1.length());
	}
}

//<출력문>
//5

2. toString() : 문자열의 값 반환

public class testString2 {
	public static void main(String[] args) {
		String s1 = new String("apple");
        
		System.out.println(s1);				// 객체를 출력하면 객체의 toString() 메소드가 자동으로 호출됨
		System.out.println(s1.toString());
	}
}

//<출력문>
//apple
//apple

3. equals() : 값을 비교한 결과 반환

public class testString {
	public static void main(String[] args) {
		String s1 = new String("apple");
		String s2 = new String("apple");
		
		System.out.println(s1 == s2);		// 주소비교, Object 클래스의 equals() 메소드와 기능 같음 : false
		System.out.println(s1.equals(s2));	// 값비교, String 클래스가 오버라이딩한 equals() 메소드 : true
	}	
}

//<출력문>
//false
//true

4. equalsIgnoreCase() : 대소문자를 무시한 상태에서의 값비교 결과 반환

public class testString3 {
	public static void main(String[] args) {
		String str1 = new String("NICE DAY");
		String str2 = new String("nice day");
		
		System.out.println(str1.equalsIgnoreCase(str2)); // 대소문자 무시 값비교 결과 : true
		System.out.println();
	}
}

//<출력문>
//true

5. compareTo() : 문자열 일치여부 비교 결과 반환

public class testString3 {
	public static void main(String[] args) {
		
		String s1 = "nicE day";
		String s2 = "nice day";

		String s3 = "apple";
		String s4 = "apple";
		
		System.out.println(s1.compareTo(s2));		// 한 글자씩 비교 하다가 다르면 두 문자의 아스키 코드값의 차를 반환 E:69 e:101, 완전 같으면 0 반환
		System.out.println(s3.compareTo(s4));		
	}
}

//<출력문>
//-32
//0

6. contain() : 문자열의 존재여부 반환

public class testString3 {
	public static void main(String[] args) {
		
		String s1 = "   abc   DE  Fg   ";

		boolean result = s1.contains("DE"); // "DE" 포함여부 boolean 반환
		System.out.println(result);		
	}
}

//<출력문>
//true

7. indexOf() : 문자열의 시작 index 반환 혹은 존재여부 확인

public class testString3 {
	public static void main(String[] args) {
		String str1 = new String("NICE DAY");
		
		System.out.println(str1.indexOf("DAY"));	// "DAY"가 존재하면 시작하는 인덱스를 반환
		System.out.println(str1.indexOf("java")); 	// 존재하지 않는 경우 -1반환
	}
}

//<출력문>
//5
//-1

8. toLower/UpperCase() : 대소문자를 변환하여 반환

public class testString3 {
	public static void main(String[] args) {
		String str1 = new String("NICE DAY");
		String str2 = new String("nice day");
		
		System.out.println(str1.toLowerCase());		// 문자열을 소문자로 반환
		System.out.println(str2.toUpperCase());		// 문자열을 대문자로 반환
	}
}

//<출력문>
//nice day
//NICE DAY

9. concat() : 연결된 문자열을 반환

public class testString3 {
	public static void main(String[] args) {
		String str1 = new String("NICE DAY");
		String str2 = new String("nice day");
		
		System.out.println(str1 + str2);		// 문자열 연결
		System.out.println(str1.concat(str2));  	// 문자열 연결
	}
}

//<출력문>
//NICE DAYnice day
//NICE DAYnice day

10. chatAt() : 해당 index의 문자 반환

public class testString3 {
	public static void main(String[] args) {
		String str1 = new String("NICE DAY");
		
		System.out.println(str1.charAt(1));			// 해당 인덱스에 위치하는 문자 반환
	}
}

//<출력문>
//I

11. substring() : 원하는 위치의 문자열을 가져옴

public class testString3 {
	public static void main(String[] args) {
		String str1 = new String("NICE DAY");
		String str2 = new String("nice day");
		
		System.out.println(str1.substring(2,7));	// 2번째부터 7번째 앞에 있는 것 까지만 가져온다.
		System.out.println(str1.substring(2));		// 인덱스 2부터 끝까지의 문자열 반환
	}
}

//<출력문>
//CE DA
//CE DAY

12. replace() : 특정 문자열을 지정한 문자열로 대체한 문자열을 반환

public class testString3 {
	public static void main(String[] args) {
		String s1 = new String("NICE DAY");
        
		s1 = s1.replace("A", "x");	// 대문자 A를 소문자 x로 대체시킨 문자열 반환
		System.out.println(s1); 
	}
}

//<출력문>
//NICE DxY

13. trim() : 맨뒤, 맨앞에 존재하는 공백을 제거한 문자열을 반환

public class testString3 {
	public static void main(String[] args) {
		
		String s1 = "   abc   DE  Fg   ";

		s1 = s1.trim();	// 맨 앞, 맨 뒤에 있는 공백을 제거한 문자열 반환
		System.out.println(s1);
	}
}

//<출력문>
//abc   DE  Fg

위 함수들 활용 예제

1) 문자열 일치 여부 확인 예제

import java.util.Scanner;

public class testString3 {
	public static void main(String[] args) {

		// 문자열 일치 비교
		String id = "kim";
		String pw = "1234";
		Scanner sc = new Scanner(System.in);

		System.out.print("아이디 입력: ");
		String loginId = sc.next();

		System.out.print("비번 입력: ");
		String loginPw = sc.next();

		// 방법1
		if (loginId.equals(id) && loginPw.equals(pw))
			System.out.println("로그인 가능");
		else
			System.out.println("로그인 불가능");

// 		방법2
//		if (loginId.compareTo(id) == 0 && loginPw.compareTo(pw) == 0)
//			System.out.println("로그인 가능");
//		else
//			System.out.println("로그인 불가능");
	}
}

//<출력문>
//아이디 입력: kim
//비번 입력: 1234
//로그인 가능

 

2) 파일명과 확장자를 분리하여 출력하는 문제

public class testString3 {
	public static void main(String[] args) {

		String fullName = "Hello.java";
		String fileName; // 파일명 -> Hello
		String ext; // 확장자 -> java

		int loc = fullName.indexOf(".");

		fileName = fullName.substring(0, loc);
		ext = fullName.substring(loc + 1);

		System.out.println("fileName: " + fileName);
		System.out.println("ext: " + ext);
		System.out.println();
	}
}

//<출력문>
//fileName: Hello
//ext: java
Comments