문자열 (String)

박주현·2022년 10월 11일
0

국비 공부

목록 보기
11/44

문자열의 선언과 생성

String s1 = "안녕, 자바!";	// String 타입의 변수 선언과 초기화
String s2 = "안녕, 자바!";	// 문자열 리터럴이다.
  • 문자열 리터럴은 내부적으로 new String()을 호출해 생성한 객체이다.
    참조형이기에 같은 주소를 바라 본다. new로 생성한다면 다른 주소를 바라보기 때문에 ==으로 비교 안됨.
		String s1 = "Hi, Java!";
		String s2 = "Hi, Java!";
		String s3 = new String("Hi, Java!!");
		String s4 = new String("Hi, Java!!");

		System.out.println(s1 == s2);
		System.out.println(s1 == s3);
		System.out.println(s3 == s4);
		System.out.println(s3);
		System.out.println(s1);

		s1 = s3;
		System.out.println(s1 == s3);
		System.out.println(s3);
		System.out.println(s1);
  • int compareTo(String s) : 문자열을 사전순으로 비교해 정숫값으로 반환.

  • int compareToIgnoreCase(String s) : 대, 소문자를 무시하고 문자열을 사전 순으로 반환한다.

  • boolean equals(String s) : 주어진 문자열 s와 현재 문자열을 비교한 후 true/false를 반환한다.

  • boolean equalsIgnoreCase(String s) : 주어진 문자열을 대,소문자 구분 없이 비교한 후 true/false를 반환한다.

public static void main(String[] args) {
		String s1 = "Hi, Java!";
		String s2 = new String("Hi, Java!");
		String s3 = "Hi, Code!";
		String s4 = "Hi, java!";

		System.out.println(s1.equals(s2));	// 	true
		System.out.println(s1.equals(s3));	// 	false
		System.out.println(s1.equals(s4));	//	false
		System.out.println(s1.equalsIgnoreCase(s4));	//	true

		System.out.println(s1.compareTo(s3));	//	7
		System.out.println(s1.compareToIgnoreCase(s4));	// 0
		System.out.println(s1.compareTo(s4));	//	-32
		System.out.println(s1.compareToIgnoreCase(s3));	//	7

	}
  • char charAt(int index) : index가 지정한 문자를 반환.
  • String concat(String s) : 주어진 문자열 s를 현재 문자열 뒤에 연결
  • boolean contains(String s) : 문자열 s를 포함하는지 조사
  • boolean isBlank() : 길이가 0 혹은 공백 있으면 true 반환(자바 11부터)
  • boolean isEmpty() : 길이가 0이면 true 반환.
  • String repeat(int c) : c번 반복한 문자열을 반환(자바 11부터)
  • String toLowerCase() / toUpperCase() : 모두 소/대문자로 변환
  • String trim() : 앞뒤에 있는 공백을 제거한 후 반환.
  • int length() : 길이를 반환
  • boolean startsWith(String s) : 시작하는 문자열이 s인지 조사
public static void main(String[] args) {
		String s1 = new String("Hi,");
		String s2 = new String(" Java");

		System.out.println("문자열 길이(s1) : " + s1.length()); // 문자열 길이(s1) : 3
		System.out.println(s1.charAt(1));	// i

		s1 = s1.concat(s2);

		System.out.println(s1.concat(s2 + "!"));	// Hi, Java Java!
		System.out.println(s1.toLowerCase() + "!");	// hi, java!
		System.out.println(s1.substring(4, 8) + "!");	// Java!

		String s3 = " ";
		System.out.println(s3.isEmpty());	// false
		System.out.println(s3.isBlank());	// true
		String s4 = "";
		System.out.println(s4.isEmpty());	// true
		System.out.println(s4.isBlank());	// true

		String s5 = "*-*";
		System.out.println(s5.repeat(10));	// *-**-**-**-**-**-**-**-**-**-*

	}

0개의 댓글