[JAVA] String Class

보람·2023년 2월 1일
0

JAVA

목록 보기
15/24
post-thumbnail

(1) 문자열을 위한 String Class

  • 문자열과 관련된 작업을 할 때 유용하게 사용가능
  • java.lang 패키지에 포함

(2) String Class 선언

  • 변수 선언하듯이 가능
  	String str1 = "자바 Programming";  
	String str2 = new String("Java")		

(3) String Class 예시

- 문자열 길이 : .length();

	int str1_len = str1.length();
	int str2_len = str2.length();
	System.out.println("str1_len : "+str1_len);
	System.out.println("str2_len : "+str2_len);
    
    // 출력
		str1_len : 14
		str2_len : 4

- 특정 문자열이 처음으로 나타나는 위치 : .indexOf();

	int str1_pos = str1.indexOf(" "); //순서 0,1,2,3,4~ 그러므로 2
	int str2_pos = str2.indexOf("a"); // 1
	int str2_os = str2.indexOf("A");
    System.out.println("str1_pos : " + str1_pos);
	System.out.println("str2_pos : " + str2_pos);
	System.out.println("str2_os : " + str2_os);
    
    // 출력
		str1_pos : 2
		str2_pos : 1
		str2_os : -1

- 특정 문자열이 나타나는 마지막 위치 : .lastIndexOf(" ");

	int str1_last_pos = str1.lastIndexOf(" "); // 공백
	int str2_last_pos = str2.lastIndexOf("a"); // 소문자
	System.out.println("str1_last_pos : " + str1_last_pos); //0,1,2 
	System.out.println("str2_last_pos : " + str2_last_pos);
    
    // 출력
		str1_last_pos : 2
		str2_last_pos : 3

- A를 B로 변경 : replace("A", "B");

	String new_str1 = str1.replace(" ", "-"); // 띄어쓰기를 바로 변경
	String new_str2 = str2.replace("a", "A"); // 소문자를 대문자로 변경
	System.out.println("new_str1 : " + new_str1);
	System.out.println("new_str2 : " + new_str2);
    
    // 출력
		new_str1 : 자바-Programming
		new_str2 : JAVA

- 대소문자 변경 : toUpperCase();, toLowerCase();

	String upper = new_str1.toUpperCase();
	String lower = new_str2.toLowerCase();
	System.out.println("upper : " + upper);
	System.out.println("lower : " + lower);
    
    // 출력
		upper : 자바-PROGRAMMING	
		lower : java

- 문자열의 앞 뒤 공백 제거 : .trim();

	String input = "   enjoy   java   programming         ";
	String output = input.trim();
	System.out.println("output : " + output); //중앙 공백은 남아있는데 앞뒤는 빠짐
	System.out.println("intput : " + input);
    
    // 출력 
		output : enjoy     java      programming
		intput :    enjoy      java     programming         

- 중간공백까지 포함한 모든 공백 제거 : .replace(" ", "")

	String output2 = input.replace("  ", ""); // 띄어쓰기를 공백으로               		System.out.println("output2 : " + output2);
    
    // 출력
        output2 :  enjoyjavaprogramming 

- 문자열 비교 : .equals(str2);

	boolean isSam = str1.equals(str2); // true/false 출력이므로 boolean
	if ( isSam ) {
		System.out.println("같다!");
		} else {
			System.out.println("다르다!");
		}
        
    // 출력
		다르다!    

- 문자열 자르기 : substring(시작위치,끝위치);

	String sub_str1 = str1.substring(0,2); //(0,1,2) 2 앞까지 자르기
	// 두번째 파라미터가 없는 경우 시작 위치부터 끝까지 출력
	String sub_str2 = str1.substring(3); // (0, 1, 2, 3) 3부터 끝까지 출력
	System.out.println(str1);
	System.out.println("sub_str1 : " + sub_str1);
	System.out.println("sub_str2 : " + sub_str2);
    
    // 출력
		자바 Programming
		sub_str1 : 자바
		sub_str2 : Programming
    

- 규격에 맞게 출력 : String.format();

	int yy = 2023;
	int mm = 2;
	int dd = 1;
	String gender = "남성";
    
	String result = String.format("%d년 %02d월 %02d일 %s", yy, mm, dd, gender);
	System.out.println(result);
    
    // 출력
		20230201일 남성

- 형식에 따른 문자열 출력을 위한 static 메서드

%d   : 정수
%s   : 문자
%f   : float형 소수
%3d  : 숫자를 3자리로 맞춰서 출력, 
       자릿수가 맞지 않으면 앞에 공백 출력
%03d : 자릿수가 맞지 않으면 앞에 0을 출력
%3s  : 문자열을 3자리로 맞춰서 출력
	   자릿수가 맞지 않으면 앞에 공백 출력
  	   (%03s와 같은 형식은 사용 불가, 0은 정수형일 때만)

- 주어진 글자를 기준으로 잘라내서 배열로 변환 : .split("/");

	String src = "C++/Java/C#/JavaScript/VB";
	String[] data = src.split("/");
		
	for( int i = 0; i<data.length; i++) {
			System.out.println(data[i]);
	}
    
    //출력
		C++
		Java
		C#
		JavaScript
		VB		

- 기본 자료형을 문자열로 변환 : valueOf();

	int a = 1;
	float b = 3.14f;
    String str1 = String.valueOf(a);
    String str2 = "" + b; // 공백을 더해주는게 가장 쉽다.
- 출처 물어보는 메소드 : instanceof
 	System.out.println( str1 instanceof String );
	System.out.println( str2 instanceof String );

   // 출력
   		true
		true

(4) println에서 특수문자 표현

- 문자열 내에 쌍따옴표

	public static void main(String[] args) {
		String src = "JAVA";
		System.out.println( "\""+ src + "\""  );
        
        //출력 
        		"JAVA"

- 문자열 내에 홑따옴표

	public static void main(String[] args) {
		String src = "JAVA";
        System.out.println( "\'"+ src + "\'"  );
                
        //출력 
        		'JAVA'

- 줄바꿈 문자

	public static void main(String[] args) {
		String src = "JAVA";
        System.out.println("\n" + src);        
       
       //출력 
        		
                JAVA

- 탭키에 해당하는 문자

	public static void main(String[] args) {
		String src = "JAVA";
        System.out.println("\t" + src);
   //출력 
            		JAVA
profile
안녕하세요, 한보람입니다.

0개의 댓글