반응형

자바 스트링 문자열 예제 2

 

글. 오상문 sualchi@daum.net

package StringClass2;
import java.util.List;
public class Main {
	public static void main(String[] args) {
		// 다양한 문자열 생성 방법
		String s1 = "Hello";
		String s2 = new String("Hello");
		String s3 = new String(s1);		
		String s4 = s1;   // s4와 s1은 같은 객체 
		System.out.println(s1);
		System.out.println(s2);		
		System.out.println(s3);
		if(s1 == s2)
			System.out.println("s1, s2은 같은 객체입니다.");
		else
			System.out.println("s1, s2은 다른 객체입니다.");	// 출력
		if(s1.equals(s3))
			System.out.println("s1, s3 값이 같습니다.");		// 출력
		else
			System.out.println("s1, s2 값이 다릅니다.");		
		if(s1 == s3)
			System.out.println("s1, s3 같은 객체입니다.");
		else
			System.out.println("s1, s3은 다른 객체입니다."); // 출력		
		if(s1 == s4)
			System.out.println("s1, s4 같은 객체입니다.");  // 출력
		else
			System.out.println("s1, s4은 다른 객체입니다.");
		// 자바 String 데이터는 Immutable이라 직접 수정할 수 없음
		// s1[0]과 같은 인덱스 표기 사용 못함. --> charAt(인덱스) 가능
		System.out.println(s1.charAt(0)); // H
		s1 = s1.replace("H", "h");  // s1은 새 문자열 값을 가리킴
		System.out.println(s1);		// hello
		System.out.println(s4); 	// Hello
		if(s1 instanceof String)
			System.out.println("s1은 String 인스턴스입니다."); // 출력
		else
			System.out.println("s1은 String 인스턴스가 아닙니다.");
		if(s1.equalsIgnoreCase("HELLO"))
			System.out.println("s1, s2는 대소문자 구분없이 같은 값입니다."); // 출력
		else
			System.out.println("s1, s2는 대소문자 구분없이 다른 값입니다.");			
		System.out.println(String.valueOf(100)); 		// int를 문자열로 변환 
		System.out.println(String.valueOf(100.123)); 	// double을 문자열로 변환
		System.out.println(Integer.toString(100)); 		// int를 문자열로 변환
		System.out.println(Float.toString(100.123f));   // float를 문자열로 변환
		System.out.println(Double.toString(100.123));   // double을 문자열로 변환	
		System.out.println(s1.toUpperCase());	// HELLO
		System.out.println(s1.toLowerCase());	// hello
		s1 = s1.concat("!");  	// 결합  Hello!
		s1 = s1 + "!!";       	// 결합  Hello!!!
		System.out.println(s1);	// Hello!!!	
		System.out.println(s4);	// Hello
		if (s1.contains("he"))
			System.out.println("s1에 he가 포함되어 있습니다.");  	// 출력
		if( s1.endsWith("!!!"))
			System.out.println("s1은 !!!로 끝납니다."); 		// 출력
		if( s1.startsWith("hell"))
			System.out.println("s1은 hell로 시작합니다.");		// 출력
		char[] cArray = new char[s1.length()];	// 문자 배열
		s1.getChars(0, s1.length(), cArray, 0); // 문자열을 문자배열로 변환
		System.out.println(cArray);				// hello!!!
		if(s1.isEmpty() == false)
			System.out.println("s1은 빈 문자열이 아닙니다."); // 출려
		System.out.println(s1.substring(0, 5));  // hello
		s1 = " "+ s1 + " ";
		System.out.println(s1); // 앞뒤 공백이 있는 hello!!! 	
		s1 = s1.trim();     	// 앞뒤 공백 제거하여 새로 할당 
		System.out.println(s1); // 앞뒤 공백 없는 hello!!!	
		String s5 = "I am a good guy.";
		String[] sArray = s5.split(" "); // 빈칸 기준으로 분리하여 문자열 배열에 저장 
		for (String s : sArray) 		 // 분리된 문자열 출력 
			System.out.println(s);
		System.out.println(s1.indexOf('o'));   	// 인덱스 4
		System.out.println(s1.indexOf("!!!")); 	// 인덱스 5
		System.out.println(s1.lastIndexOf('!'));// 인덱스 7
		System.out.println(s1.repeat(2));		// hello!!!hello!!!
		List<String> list = List.of("My", "name", "is", "Sualchi");
		String s6 = String.join(" ", list); 	// 문자열 결합
		System.out.println(s6);  				// My name is Sualchi
		s6 = String.join("-", list); 
		System.out.println(s6);  				// My-name-is-Sualchi			
	}
}
반응형

+ Recent posts