TOP
class="layout-aside-left paging-number">
본문 바로가기
프로그래밍 및 기타/Java

[Java] 25년 1월 8일 자바 기초 - 문자열

by 기록자_Recordian 2025. 1. 7.
728x90
반응형
이전 내용
 

[JAVA] 25년 1월 7일 - 자바 기초

이전 내용 [JAVA] 25년 1월 3일 - 자바 기초이전 내용 [JAVA] 25년 1월 2일 - 자바 기초◆ 새 프로젝트 만들기 New - java project - 프로젝트명: java_ex02 ◆ 클래스 만들기 java_ex02 - src - New - Class - Ex01 * 이클

puppy-foot-it.tistory.com


문자열

 

문자열: 여러 문자들의 집합

String str = "김밥, 라면, 우동, 돈가스, 만두";

 

Java에서는 String 자료형의 경우,  "" 내에 문자를 모두 하나로 취급.

즉, 해당 코드에서는 문자가 5개가 아닌 김밥, 라면, 우동, 돈가스, 만두가 하나의 문자형으로 취급된다. (쉼표 포함)

 

해당 문자열 변수 내의 각 단어를 구분하여 배열로 지정할 수도 있다. 즉, 문자는 쪼갤 수 있다. (정수, 실수 등 다른 자료형은 쪼갤 수 없다)

// 문자열
String str = "김밥, 라면, 우동, 돈가스, 만두";
// str 문자열을 ,(쉼표)로 구분하여 배열에 저장
String[] lunch = str.split(", ");
// lunch 배열의 값을 콘솔에 출력
for (int i=0; i<5; i++) {
	System.out.println("lunch["+i+"]="+lunch[i]);
}

▶ lunch 라는 배열에 각 단어들이 들어가게 되며 [] 내에 숫자를 인덱스라고 하며, 0부터 시작된다.

 


 문자열 기능
  • length: 문자 길이 반환
  • toUpperCase: 전체 대문자로 변환
  • toLowerCase: 전체 소문자로 반환
  • contains: 포함 여부 (boolean 형으로 반환)
  • indexOf: 위치 정보
  • lastIndexOf: 마지막 위치 정보
  • startsWith: 특정 문자열로 시작되는지 여부
  • endsWith: 특정 문자열로 종료되는지 여부
  • replace: 문자열 변환
  • trim: 앞뒤 공백 제거
  • concat: 문자열 결합
  • substring: 문자열 자르기
package prac_250107;

public class Ex_01 {

	public static void main(String[] args) {
		String s = "I like Java";
		// length: 길이
		System.out.println("문자열길이:" + s.length());
		// toUpperCase: 대문자로
		System.out.println("전체 대문자:" + s.toUpperCase());
		// toLowerCase : 소문자로
		System.out.println("전체 소문자:" + s.toLowerCase());
		// contains: 포함 여부
		System.out.println("Java 포함 여부:" + s.contains("Java"));
		// indexOf: 위치 정보
		System.out.println("Java 위치:" + s.indexOf("Java"));
		// lastIndexOf : 마지막 위치 정보
		System.out.println("마지막 a 위치:" + s.lastIndexOf("a"));
		// startsWith: 특정 문자열로 시작되는지 여부
		System.out.println("I 로 시작여부:" + s.startsWith("I"));
		// endswith: 특정 문자열로 끝나는지 여부
		System.out.println("I 로 종료여부:" + s.endsWith("I"));
		// replace: 문자열 반환
		System.out.println("내용 교체:" + s.replace("like", "love"));
		// trim : 앞뒤 공백 제거
		System.out.println("공백제거:" + s.trim());
		// concat: 문자열 결합
		System.out.println("문자열 결합:" + s.concat(" and Python"));
		// substring: 문자열 자르기
		System.out.println("문자열 자르기:" + s.substring(7));
	}
}

 

[예시]

문자형 변수.substring(첫번째 인덱스, 마지막 인덱스-1);
String st1="오늘은 날씨가 춥습니다.";
System.out.println(st1);
//st1 문자열 중에서 "날씨"만 추출하여 res 변수에 저장
//st1 문자열 중에서 4번째 index부터 6-1(=5)번째 index까지 추출
String res = st1.substring(4,6);
System.out.println(res);

0 1 2 3 4 5 6 7 8 9 10 11 12
    .

 

String st1="오늘은 날씨가 춥습니다.";
String st2="개나리,진달래,철쭉,무궁화,장미,해바라기";
String st3="겨울";
String st4="호빵";
System.out.println(st1);
//st1 문자열 중에서 "날씨"만 추출하여 res 변수에 저장
//st1 문자열 중에서 4번째 index부터 6-1번째 index까지 추출
String res = st1.substring(4,6);
System.out.println(res);
String res1 = st2.substring(11,15);
System.out.println(res1);
int idx = st2.indexOf("철");
System.out.println(idx);
//st2 문자열에서 8번째 인덱스의 문자 1개 찾아서 res2에 저장
char res2 = st2.charAt(8);
System.out.println(res2);
//concat 문자열 결합
String res3 = st3.concat(st4);
System.out.println(res3);
// 문자열 비교: st3과 st4가 같다면 "st3==st4" 출력
// 같지 않다면 "st3!=st4" 출력
if(st3.equals(st4)) {
	System.out.println("st3==st4");
} else {
	System.out.println("st3!=st4");
}


문자열 비교

 

String과 new String()은 같은 값을 갖더라도 메모리 상에서 처리되는 방식이 다르므로, 문자열을 비교할 때는 숫자형과 다르게 '==' 이 아닌 equals를 사용하여 비교한다.

public static void main(String[] args) {
	// 정수 비교
	int num1 = 1;
	int num2 = 3;
	System.out.println("아래의 숫자는 같은가요?");
	System.out.println(num1 == num2); // false 반환
		
	// 문자열 비교
	String s1 = "Java";
	String s2 = "Java";
	System.out.println("아래의 문자는 같은가요?");
	System.out.println(s1 == s2); // true 반환
		
	// 문자열 비교2
	String s3 = new String("Java");
	String s4 = new String("Java");
	System.out.println("아래의 문자는 같은가요?");
	System.out.println(s3 == s4); // false 반환
		
	// 문자열 비교 시에는 == 가 아닌 equals 사용
	System.out.println(s3.equals(s4));


특수문자

 

  • \n: 줄바꿈
  • \t: 탭
  • \\: 역슬래시 (한 번의 역슬래시 표현)
  • \": 큰따옴표 (한 번의 큰따옴표 표현)
  • \': 작은따옴표 (한 번의 작은따옴표 표현)
public static void main(String[] args) {
	// 특수문자
	// \n: 줄바꿈
	System.out.println("A\nB");
	// \t: 탭
	System.out.println("A\tB");
	// \\:역슬래시
	System.out.println("C:\\Java");
	// \": 큰따옴표
	System.out.println("A\"B\"C");
	// \': 작은 따옴표
	System.out.println("A\'B\'C");
}

 


다음 내용

 

[Java] 자바 기초 - 배열

이전 내용 [Java] 자바 기초 - 문자열이전 내용 [JAVA] 25년 1월 7일 - 자바 기초이전 내용 [JAVA] 25년 1월 3일 - 자바 기초이전 내용 [JAVA] 25년 1월 2일 - 자바 기초◆ 새 프로젝트 만들기 New - java project

puppy-foot-it.tistory.com


[출처]

나도코딩 유튜브

728x90
반응형