
public class Main01 {
public static void main(String[] args) {
// 객체생성 방법
String str1 = "자바 programming";
String str2 = new String("Java");
System.out.println("str1 : " + str1);
System.out.println("str2 : " + str2);
System.out.println("------------------");
->
str1 : 자바 programming
str2 : Java
// 문자열의 길이를 조회
int str1_len = str1.length();
int str2_len = str2.length();
System.out.println("str1_len : " + str1_len);
System.out.println("str2_len : " + str2_len);
System.out.println("------------------");
->
str1_len : 14
str2_len : 4
// 특정 문자열이 처음으로 나타나는 위치를 조회
int str1_pos = str1.indexOf(" ");
int str2_pos = str1.indexOf("a");
System.out.println("str1_pos : " + str1_pos);
System.out.println("str2_pos : " + str2_pos);
System.out.println("------------------");
->
str1_pos : 2
str2_pos : 8
// 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);
System.out.println("------------------");
->
new_str1 : 자바-programming
new_str2 : JAvA
// 대소문자
String upper = new_str2.toUpperCase();
String lower = new_str2.toLowerCase();
System.out.println("new_str2: " + new_str2);
System.out.println("upper : "+ upper);
System.out.println("lower : "+ lower);
System.out.println("------------------");
->
new_str2: JAvA
upper : JAVA
lower : java
// 문자열 앞뒤 공백 제거
String input = " enjoy java programming ";
String output = input.trim();
System.out.println("input : " + input);
System.out.println("output : " + output);
->
input : enjoy java programming
output : enjoy java programming
output2 : enjoyjavaprogramming
}
// 문자열 비교
// str1 == str2 // 이건 주소값을 비교하는 것이라 부적절
str1.equals(str2) ;
boolean isSam = str1.equals(str2);
if(isSam) {
System.out.println("같다");
} else {
System.out.println("다르다");
}
System.out.println("------------------");
-> 다르다
// 문자열 자르기
// - 첫번째 파라미터 : 시작위치
// - 두번째 파라미터 : 끝 위치
String sub_str1 = str1.substring(0, 2);
System.out.println("str1 : " + str1);
System.out.println("sub_str1 : " + sub_str1);
->
str1 : 자바 programming
sub_str1 : 자바
// 두번째 파라미터가 없는 경우, 끝까지 자른다.
String sub_str2 = str1.substring(3);
System.out.println("sub_str2 : " + sub_str2);
System.out.println("------------------");
->
sub_str2 : programming
형식에 따른 문자열 출력을 위한 static 메서드 사용
/*
- %d : 정수
- %s : 문자
- %f : float형 소수
- %3d: 숫자를 3자리로 맞춰서 출력.
자릿수가 맞지 않으면, 앞에 공백을 출력
- %03d: 자릿수가 맞지 않으면, 0을 출력
- %3s : 문자열을 3자리로 맞춰서 출력,
자릿수가 맞지 않으면 앞에 공백 출력
(%03s와 같은 형식을 사용불가)
/
int yy = 2024;
int mm = 1;
int dd = 5;
String gender = "남성";
String result = String.format("%d년 %02d월 %02d일 %s", yy, mm, dd, gender);
System.out.println(result);
System.out.println("------------------");
->
2024년 01월 05일 남성
// 주어진 글자를 기준으로 잘라내어서 배열로 변환
String src = "C++/Java/C#/Javascript/DB";
String[] data = src.split("/");
for (int i = 0; i <data.length; i++) {
System.out.println(data[i]);
}
->
C++
Java
C#
Javascript
DB
이스케이프 문자
프로그램의 문자열 안에 포함될 수 있는 특수 문자.
ex) 문자열 안에서 쌍따옴표를 표현하고자 하는 경우 사용.
public static void main(String[] args) {
String src = "JAVA";
// 문자열 안에 쌍따옴표를 포함시키기
System.out.println("\""+ src + "\"");
System.out.println("-------------------");
// 문자열 안에 홑따옴표 포함시키기
System.out.println("\'" + src + "\'");
System.out.println("-------------------");
// 줄바꿈 문자
System.out.println("\n" + src);
System.out.println("-------------------");
// 탭키에 해당하는 문자
System.out.println("\t" + src);
}