For developer/JAVA

(JAVA)문자열클래스

프린이0218 2020. 5. 12. 20:04
public class Ex_String02 {
	//문자열의 대소관계 비교(compareTo(), compareToIgnoreCase())
	//동등관계 비교(equals(), equalsIgnoreCase())
	public static void main(String[] args) {
		String str1 = "APPLE";
		String str2 = "ORANGE";
		String str3 = "APPLE";
		String str4 = "apple";
		
		//if(str1 > str2)▶ 오류 : 문자열의 대소관계는 비교연산자를 사용할 수 없다.
		//문자열의 비교는 유니코드 값으로 비교한다 ▶ compareTo()
		//compareTo() 결과 : 양수, 0, 음수
		int result = str1.compareTo(str2);
		System.out.println(result);		//-14(음수) : str2가 더 크다
		
		result = str1.compareTo(str3);
		System.out.println(result);		//0 : str1과 str2는 같다
		
		result = str4.compareTo(str1);
		System.out.println(result);		//32(양수) : str4가 더 크다
		
		result = str1.compareToIgnoreCase(str4);	//대소문자 구분없이 비교
		System.out.println(result);		//0 : str1과 str4는 같다
		
		//문자열이 같은지 다른지(동등관계)를 판단 ▶ if(str1.compareTo(str2) == 0)
		if(str1.equals(str2)) {			//equals() : true, false 반환
			System.out.println(str1 + "과(와) " + str2 + "은(는) 같다.");
		}else {
			System.out.println(str1 + "과(와) " + str2 + "은(는) 같지 않다.");			
		}
		
		if(str1.equals(str3)) {			//equals() : true, false 반환
			System.out.println(str1 + "과(와) " + str3 + "은(는) 같다.");
		}else {
			System.out.println(str1 + "과(와) " + str3 + "은(는) 같지 않다.");			
		}
		
		if(str1.equals(str4)) {			//equals() : true, false 반환
			System.out.println(str1 + "과(와) " + str4 + "은(는) 같다.");
		}else {
			System.out.println(str1 + "과(와) " + str4 + "은(는) 같지 않다.");			
		}
		
		if(str1.equals(str4.toUpperCase())) {
			System.out.println(str1 + "과(와) " + str4 + "은(는) 같다.");
		}else {
			System.out.println(str1 + "과(와) " + str4 + "은(는) 같지 않다.");			
		}
		
		if(str1.toLowerCase().equals(str4)) {
			System.out.println(str1 + "과(와) " + str4 + "은(는) 같다.");
		}else {
			System.out.println(str1 + "과(와) " + str4 + "은(는) 같지 않다.");			
		}
		
		if(str1.equalsIgnoreCase(str4)) {	//대소문자 구분없이 비교한다.
			System.out.println(str1 + "과(와) " + str4 + "은(는) 같다.");
		}else {
			System.out.println(str1 + "과(와) " + str4 + "은(는) 같지 않다.");			
		}
	}//main()
}//class








​
import java.util.Arrays;

public class Ex_String01 {
	//String Class : 문자열을 조작하기 위한 기능을 담고 있는 클래스
	//SunMicroSystem(Oracle) 업체에서 미리서 제작하여 제공 ▶ API(Library)
	//API 문서(설명서) : www.oracle.com > Java APIs
	//JRE System Library > rt.jar > java.lang > String.class
	public static void main(String[] args) {
		String str1 = "apple";	//apple 문자열을 str1 변수에 할당
		String str2 = new String("APPLE");	//APPLE 문자열을 str2 객체에 할당
		
		System.out.println(str1);
		System.out.println(str2);
		
		//문자열의 길이 : length()
		System.out.println("str1의 길이 : " + str1.length());
		
		//대문자로 변경 : toUpperCase()
		System.out.println("str1을 대문자로 변경 : " + str1.toUpperCase());
		
		//소문자로 변경 : toLowerCase()
		System.out.println("str2을 소문자로 변경 : " + str2.toLowerCase());
		
		//특정문자만 추출 : subString()
		System.out.println(str1.substring(1));		//index 1부터 끝까지 추출
		System.out.println(str1.substring(1, 3));	//index 1부터 3의 앞까지 추출
		
		//문자열에서 특정 문자 한 글자만 출력 : charAt()
		System.out.println(str2.charAt(3));
		System.out.println(str2.substring(3, 4));
		
		//특정 문자의 존재여부 : indexOf() ▶ 존재 : index 값을 반환, 실패 : -1
		int index = str2.indexOf("B");
		System.out.println(index);
		
		//문자열 분리 : split()
		String str3 = "가나@다라@마바";
		String[] sp = str3.split("@");
		for (int i = 0; i < sp.length; i++) {
			System.out.println(sp[i]);
		}
		System.out.println(Arrays.toString(sp));
		
		//문자열 치환(찾아 바꾸기) : replaceAll()
		System.out.println(str2.replaceAll("PP", "@@"));	//PP → @@
		System.out.println(str2.replaceAll("P", "@@"));		//P → @@
		
		//좌우 공백 제거 : trim()
		String str4 = "   abc   def   ";
		System.out.println(str4);
		System.out.println("공백 제거 전 길이 : " + str4.length());
		System.out.println(str4.trim());
		System.out.println("공백 제거 후 길이 : " + str4.trim().length());
	}//main()
}//class