Minwoo Dev.

[Java] 문자열 길이, 대소문자 변환, 포함 관계 본문

Java

[Java] 문자열 길이, 대소문자 변환, 포함 관계

itisminu 2023. 11. 4. 12:50
728x90
반응형
SMALL

이번 게시물에서는 문자열에 관한 여러 기능들에 대하여 알아보겠다.

 

String s = "I like Java and Python and C.";

 

위와 같은 문자열 s가 있다.

이제 우리는 위 문자열을 가지고 여러 기능들을 실행해 볼 것이다.

 

  • 문자열 길이 구하기
System.out.println(s.length()); // 29

 

문자열의 길이를 구하려면 문자열.length()를 실행하면 된다.

위와 같이 코드를 작성하면 "I like Java and Python and C." 라는 문장의 길이를 계산하여 29라는 값을 출력할 것이다.

 

 

  • 대소문자 변환
System.out.println(s.toUpperCase()); // 대문자로
System.out.println(s.toLowerCase()); // 소문자로

 

문자열을 대문자로 혹은 소문자로 변환하려면 위와 같이 실행하면 된다.

문자열의 문자들을 모두 대문자로 바꾸려면 문자열.toUpperCase()를 실행하고, 모두 소문자로 바꾸려면 문자열.toLowerCase()를 실행하면 된다.

결과는 위처럼 나온다.

 

  • 포함 관계

문자열에 내가 궁금한 단어가 포함되는지를 알아보고 싶다면 문자열.contains("단어")를 사용하면 된다.

 System.out.println(s.contains("Java")); // 포함된다면 true

 

위 코드에서는 Java라는 단어가 포함되는지를 확인하려고 한다.

s 안의 문자열이 I like Java and Python and C. 이였으므로 Java가 존재한다.

따라서 true 가 나온다.

 

System.out.println(s.contains("C#")); // 포함되지 않는다면 false

 

비슷하게, 위의 코드에서 C#이라는 단어는 포함되지 않으므로 false를 출력한다.

 

 

만약 단어가 문자열 안에서의 어디에 있는지 위치 정보를 알고싶다면 문자열.indexOf("단어") 를 사용하면 된다.

System.out.println(s.indexOf("Java")); // 위치 정보 7

 

Java 라는 단어의 위치를 확인하는 코드이다.

 

 

컴퓨터는 배열의 첫번째 값을 1 이 아닌 0번으로 인식하기 때문에 Java라는 단어의 시작점은 7이다. 

0부터 숫자를 세니 헷갈릴 수 있다. 주의하자

 

만약 위와 같은 indexOf를 문자열에 포함되지 않은 단어를 확인하면 어떻게 될까? 

System.out.println(s.indexOf("C#")); // 포함되지 않는다면 -1

 

우리가 처음에 작성한 s 라는 문자열에는 C#이란 단어가 존재하지 않는다.

그렇다면 위 코드의 결과는 어떻게 나올까 ? false가 나오려나 ?

 

문자열에 포함되지 않는 단어의 위치를 검색한다면 위와 같이 -1이 출력되는 것을 알 수 있다. 

 

그럼, 문자열 안에 우리가 작성한 s의 "and" 처럼 여러 번 중복되는 단어가 있다면 어떨까?

처음의 위치가 출력될까 아니면 마지막의 위치가 출력될까 ?

System.out.println(s.indexOf("and")); // 처음 일치하는 위치 정보 (12)

 

기본적으로 indexof는 첫번째 위치값을 반환한다.

 

 

System.out.println(s.lastIndexOf("and")); // 마지막 일치하는 위치 정보 (23)

 

하지만 lastIndexOf를 사용한다면 중복된 단어의 마지막 인덱스를 반환한다.

 

 

제대로 출력되는 것을 확인할 수 있다.

 

 

그 다음은 특정 문자열로 시작하거나 끝나는지 확인하는 기능에 대하여 알아보겠다.

 

특정 문자로 시작하는 지 알아보는 메서드이다.

System.out.println(s.startsWith("I like")); // 이 문자열로 시작하면 true 아니면 false

 

결과는 아래와 같다.

 

 

마지막으로, 특정 문자로 끝나는 지 알아보는 메서드이다.

System.out.println(s.endsWith(".")); // 이 문자열로 끝나면 true, 아니면 false

 

결과는 아래와 같다.

 

 

 

이상으로 문자열과 관련된 메서드를 마치겠다.

 

 

출처 - 나도코딩 자바 강의 https://www.youtube.com/watch?v=NQq0dOoEPUM&t=11012s

728x90
반응형
LIST

'Java' 카테고리의 다른 글

[Java] 문자열 비교  (0) 2023.11.04
[Java] 문자열 변환, 공백 제거, 문자열 결합  (2) 2023.11.04
[Java] 퀴즈 2. 어린이의 키에 따른 탑승  (0) 2023.11.01
[Java] 삼항 연산자  (0) 2023.11.01
[Java] 논리 연산자  (2) 2023.11.01