[JAVA] String Class

김윤섭·2023년 9월 4일
0

JAVA

목록 보기
18/27
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);

// 출력
	2023년 02월 01일 남성

- 형식에 따른 문자열 출력을 위한 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개의 댓글