태그
#JAVA
JAVA - String
2021년 5월 27일 07:26

String은 char(캐릭터 변수)가 모여있는거라고 생각하면 된다
'A' 가 하나의 char형이라면 "AAA"는 'A'가 3개가 다닥 붙어있는거라고 생각하면 된다
쉽게 생각하면 이런 것이다
배열을 정리하기 전에 왜 String을 먼저 정리하냐면
이걸 짚고 넘어가면 배열을 할 때에 다시 한 번 생각하면서 이해 할 수 있기 때문이다
원래 String도 함수이다
하지만 사람들이 많이 이용하고 자주 쓰기 때문에 변수처럼 사용된다
보통 String을 쓸 때에 이렇게 쓰지만
String str = "Hello World!";
함수로 만들면
String str = new String("Hello World!");
이렇게 만든다 그런데 이건 잘 안 쓴다 그냥 알아만 두어라
자주 쓰이는 String 함수를 정리해 놓은 것이다
아마 이것을 제일 많이 보러 오지 않을까 싶다...ㅎㅎ
String s1 = "eclipse";
// charAt : n 번째 index에 있는 char를 변환해준다
char index4 = s1.charAt(4);
System.out.println("charAt : " + index4);
// charAt : p
// contains : 특정 문자열이 문자열에 포함 되어있는지 확인
System.out.println("contains : " + s1.contains("lip"));
System.out.println("contains : " + s1.contains("a"));
// contains : true
// contains : false
// startsWith : 특정 문자열로 시작하는지 확인
System.out.println("startsWith : " + s1.startsWith("ecl"));
System.out.println("startsWith : " + s1.startsWith("b"));
// startsWith : true
// stratsWith : false
// endsWith : 특정 문자열로 끝나는지 확인
System.out.println("endsWith : " + s1.endsWith("se"));
System.out.println("endsWith : " + s1.endsWith("aaa"));
// endsWith : true
// endsWith : false
// length : 문자열의 길이 확인 (알파벳이 몇 개 인지)
System.out.println("length : " + s1.length());
// length : 7
// replace : 포함된 문자열 부분을 교체 (치환)
String s2 = "I say hungry.";
s2 = s2.replace("I", "You"); // 꼭 다시 저장해야 한다
System.out.println("replace : " + s2);
// replace : You say hungry.
// split : 특정 스트링을 기준으로 잘라서 배열에 넣는다
String s3 = "apple,melon,grape";
String[] fruits = s3.split(",");
System.out.println("split : " + fruits[0] + " " + fruits[1] + " " + fruits[2]);
// substring : study
// substring : java
// substring : stud
// substring : 문자열을 자른다
String s4 = "javastudy";
System.out.println("substring : " + s4.substring(4)); // study
// begin index : 시작 인덱스
// end index : 자르고 싶은 끝 인덱스 + 1
System.out.println("substring : " + s4.substring(0, 4)); // java
System.out.println("substring : " + s4.substring(4, 8)); // study
// indexOf : 특정 문자열의 시작 위치를 반환
System.out.println("i가 있는 index : " + s1.indexOf("i"));
// i가 있는 index : 3
제일 중요한 함수 !
// String은 값 끼리 비교 하면 절 대 안된다
// String은 비교 할 때에 == 등의 기호를 써서 비교하면 String의 주소 값과 비교를 하기 때문에
// 내용 자체를 비교하고 싶으면 .equals() 함수를 써야 한다
String str1 = "Hello";
String str2 = "Hello";
System.out.println(str1 == str2); // false
System.out.println(str1.equals(str2)); // true
// 대문자, 소문자 구분 없이 비교하고 싶으면
// .toUpperCase() - 모든 문자를 대문자로 만들어주는 함수
// .toLowerCase() - 모든 문자를 소문자로 만들어주는 함수
// 이 두 개 중에서 하나를 적용시킨 다음에 .equals로 비교하면 된다
마지막으로 String과 Integer(int) 자료형 변환이다
// 1. 숫자 -> 문자열
int num = 3; // "3"
String str = num + ""; // 숫자 + 문자 = 문자
// StringBuilder, StringBuffer 이렇게 바꾸어 주는 방법도 있다 (더 찾아봐야됨)
String str2 = String.valueOf(num);
System.out.println(str); // "3"
System.out.println(str2); // "3"
// 2. 문자열 -> 숫자
String str3 = "5";
int num2 = Integer.valueOf(str3); // 3
int num3 = Integer.parseInt(str3); // 3
String은 별거 없는 것 같으면서도 제일 많이 쓰인다...;
함수 맨날 까먹어서 api로 맨날 찾아봄...;
끝!