Java 기초 (3) 문자열 String, replace메소드

코린이서현이·2023년 7월 14일
0

Java

목록 보기
4/46

🔥오늘의 목표🔥

문자열이 아마 지금 단계에서 배우는 내용은 아니지만 
그래도 문자열을 조금은 짚고 넘어가야할것같아서 정리한다.

📕 문자열

  • 문자들로 구성된 문장 ""를 사용해서 표현
  • 자료형 String을 사용해서 선언한다.
  • 선언방법에는 두가지가 있다.

📒 선언 방법 : 리터럴 표기

  • 객체 생성없이 고정된 값을 그대로 대입하는 빙법이다.
  • "Happy Java"라는 문자열을 특정 메모리 공간에 저장하고 다음에 다시 동일한 문자열이 선언될 때 이 메모리공간에 있는 문자열을 제공한다.

✍ 예시코드

  String a = "Happy Java";
  String b = "a";
  String c = "123";

📒 선언 방법 : new 객체 생성

  • 항상 새로운 String 객체를 생성한다.
  String a = new String("Happy Java");
  String b = new String("a");
  String c = new String("123");
  // 객체 생성

➕ 리터럴 표기 vs new객체 생성

  • new키워드를 생성하면 항상 새로운 객체를 생성하기 때문에, new키워드로 같은 문자열을 선언했다 하더라도 다른 객체로 판단한다.
		System.out.println("hellojava");
		
		String aString = "안녕하세요";
		String bString = "안녕하세요";
		String cString = new String("안녕하세요");
		
        //new키워드는 새로운 객체 생성 따라서 b와 c가 값이 다른걸 확인가능
		System.out.println( aString == bString );   	//true
 		System.out.println( aString == cString );   	//false
		System.out.println( bString == cString ); 		//false
		
		System.out.println( aString.equals(cString)); 	//true
		System.out.println(aString.equals(bString)); 	//true
		System.out.println(bString.equals(cString)); 	//true

📖 문자열 변경 방법

🔍 한번 선언한 문자열은 바꿀 수 있을까? : 네!!

📒 대입연산자 (=)를 이용해서

  • 문자열 전체를 바꾸고 싶다면 대입연산자 =를 이용해서 바꿀 수 있다.

✍ 예시코드

		aString = "안녕하세요";
		System.out.println(aString);	//안녕하세요  출력
		
		aString = "안녕안해";		
		System.out.println(aString);	//안녕안해 출력

👉 실행 화면 : 안녕하세요, 안녕안해 각각 출력되어 변경됨을 확인할 수 있다.

📒 replace를 이용해서

replace(CharSequence target, CharSequence replacement)

  • 모든 targetreplace로 치환
  • 특정 문자열을 삭제할 때 유용하게 쓰인다.
String str = "a,b,c,d,e";
System.out.println(str.replace(",", " ")); // a b c d e
System.out.println(str.replace(",", "")); // abcde

📒 replaceAll을 이용해서

replaceAll(String regex, String replacement)

  • 첫번째 인자로 정규식을 넣는다.
  • 특수문자를 정규식으로 인식한다.

replacereplaceAll 차이 예시코드

		String aString = "hi~";
		System.out.println(aString);		//hi~출력
		
		aString = aString.replace("~",".");
		System.out.println(aString);		//hi. 출력
		
		aString = aString.replaceAll(".", "~");
		System.out.println(aString);		//~~~ 출력

👉 정규식에서 .는 임의의 문자 1개를 의미하기 때문에 모든 문자를 바꿨다.
정규식 알아보기

📒 replaceFirst를 이용해서

replaceFirst(String target, String replacement)

  • 첫번째로 발견되는 target만 치환한다.
		String aString = "hi~ hi~ hi~";
		
        
        aString = aString.replaceFirst("hi", "Hi");
		System.out.println(aString);					//Hi~hi~hi 출력

📖 문자열 포매팅

  • 문자열안에 어떤 값을 삽입하는 방법이다.

📒 String.format 메서드를 이용하는 방법

: 문자열 포맷코드를 사용한다.

	String name = "서현";
	System.out.println(String.format("안녕 나는 %s이야", "서현")); 	
	System.out.println(String.format("안녕 나는 %s이야",name));

📒 System.out.printf를 이용해 삽입하고 바로 출력하는 방법

: 문자열 포맷코드를 사용한다.

	System.out.printf("안녕 나는 %s이야 \n",name);

📒 + 연산자를 이용하는 방법

: 문자열 포맷코드를 사용하지 않아도 된다.

	System.out.println("안녕 나는 "+name+"이야");

📃 문자열 포맷 코드

%s : 문자열(String)
%c : 문자 1개(character)
%d : 정수(Integer)
%f : 부동소수(floating-point)
%o : 8진수
%x : 16진수
%% : Literal % (문자 % 자체)

📘 그 외 자바가 제공하는 문자열 내장 메소드

더알아보기

profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글