String 클래스명 == class template(형태)
str == 변수(object:객체) --> instance(주체)
String str;
str = "안녕하세요";
System.out.println("str : " + str);
---------- 자바실행 ----------
str : 안녕하세요
출력 완료 (0초 경과) - 정상 종료
new == 동적할당
String str1 = new String("하이");
문자열과 문자열을 합한다. +
String str2 = "반갑습니다";
String str3;
str3 = str1+str2;
System.out.println("str3 : " + str3);
---------- 자바실행 ----------
str3 : 하이반갑습니다
출력 완료 (0초 경과) - 정상 종료
concat() : 문자열을 합한다
String str4 = "건강하세요";
String str5 = "행복하세요";
String str6 = str4.concat(str5);
System.out.println("str6 : " + str6);
---------- 자바실행 ----------
str6 : 건강하세요행복하세요
출력 완료 (0초 경과) - 정상 종료
+ 와 concat() 차이점
+ 는 StringBuilder 클래스로 변환하여 append로 문자열을 더해준 뒤 toString()으로 결과값을 변환하여 넘겨줍니다.
-> 같은 주소에 문자열을 추가하는 방식
concat 은 합친 문자열을 new String으로 생성합니다.
-> 문자열을 더할 때마다 주소를 새로 할당하여 생성
2개의 문자열을 합칠 경우 concat을 사용 / 여러 문자열을 합칠 경우 +연산자를 사용하면 좋다고 합니다.
char 배열과도 합칠수 있다.
char cdata[] = {'h','e','l','l','o'};
String str6 = new String(cdata);
System.out.println("str6 : " + str6);
---------- 자바실행 ----------
str6 : hello
출력 완료 (0초 경과) - 정상 종료
equals : 문자열 비교
String str7="Hello";
String str8="Hell";
str8 = str8 +"o";
if(str7 == str8) {
System.out.println("str7과 str8은 같다");
}
else {
System.out.println("str7과 str8은 다르다");
}
if(str7.equals(str8) == true) {
System.out.println("str7과 str8은 같다");
}
else {
System.out.println("str7과 str8은 다르다");
}
boolean b = str7.equals(str8);
if(b == true) {
System.out.println("str7과 str8은 같다");
}
else {
System.out.println("str7과 str8은 다르다");
}
---------- 자바실행 ----------
str7과 str8은 다르다
str7과 str8은 같다
str7과 str8은 같다
출력 완료 (0초 경과) - 정상 종료
equals와 == 차이점
equals는 객체가 가지고 있는 내용(값)을 비교하기 위한 메소드
==는 객체가 같은지 다른지 비교하는 비교연산자
int(원시형)에는 equlas X
indexOf : 문자 검색을 위한 함수. 앞부분부터찾는다. 찾은 문자의 index 번호를 돌려준다.
String str9 = "abcdeabcdeabcde";
int n = str9.indexOf("d");
System.out.println("n = " + n);
---------- 자바실행 ----------
n = 3
출력 완료 (0초 경과) - 정상 종료
lastindexOf : 뒤에서 부터 찾아노는 검색함수
String str9 = "abcdeabcdeabcde";
n = str9.lastIndexOf("d");
System.out.println("n = " + n);
---------- 자바실행 ----------
n = 13
출력 완료 (0초 경과) - 정상 종료
length == 문자열길이
String str9 = "abcdeabcdeabcde";
int len = str9.length( );
System.out.println("len = " + len);
---------- 자바실행 ----------
len = 15
출력 완료 (0초 경과) - 정상 종료
replace == 수정
String str10 = "A*B*C*D";
String repStr = str10.replace("*", "-");
System.out.println("repStr = " + repStr);
---------- 자바실행 ----------
repStr = A-B-C-D
출력 완료 (0초 경과) - 정상 종료
str10 = "\"속살 드러낸 달의 뒷면\"..미·러 실패한 '달 맨틀' 연구, 중국이 성공";
repStr = str10.replace(".", "__");
System.out.println("repStr = " + repStr);
---------- 자바실행 ----------
repStr = "속살 드러낸 달의 뒷면"____미·러 실패한 '달 맨틀' 연구, 중국이 성공
출력 완료 (0초 경과) - 정상 종료
문자열 자르기(split)
String str11 = "홍길동-24-2001/01/13-서울시";
String splits[] = str11.split("-");
System.out.println("splits[0] = " + splits[0]);
System.out.println("splits[1] = " + splits[1]);
System.out.println("splits[2] = " + splits[2]);
System.out.println("splits[3] = " + splits[3]);
for (int i = 0; i < splits.length; i++) {
System.out.println("splits["+i+"] = " + splits[i]);
}
---------- 자바실행 ----------
splits[0] = 홍길동
splits[1] = 24
splits[2] = 2001/01/13
splits[3] = 서울시
splits[0] = 홍길동
splits[1] = 24
splits[2] = 2001/01/13
splits[3] = 서울시
출력 완료 (0초 경과) - 정상 종료
문자열 자르기(substring)
String str11 = "홍길동-24-2001/01/13-서울시";
String substr = str11.substring(4);
System.out.println(substr);
---------- 자바실행 ----------
24-2001/01/13-서울시
출력 완료 (0초 경과) - 정상 종료
substr = str11.substring(4,6);
System.out.println(substr);
---------- 자바실행 ----------
24
출력 완료 (0초 경과) - 정상 종료
모든 문자 -> 대문자 toUpperCase
String str12 = "abcABC";
String upStr = str12.toUpperCase();
System.out.println(upStr);
---------- 자바실행 ----------
ABCABC
출력 완료 (0초 경과) - 정상 종료
모든 문자 -> 소문자 toLowerCase
String lowStr = str12.toLowerCase();
System.out.println(lowStr);
---------- 자바실행 ----------
abcabc
출력 완료 (0초 경과) - 정상 종료
ASCII
char c = 'A'; // ASCII A -> 65 a -> 97 32
System.out.println(c);
System.out.println((char)(c+32));
---------- 자바실행 ----------
A
a
출력 완료 (0초 경과) - 정상 종료
toString 문자열로 표현하는 함수
String str = "ABCDEFG";
System.out.println(str.toString());
---------- 자바실행 ----------
ABCDEFG
출력 완료 (0초 경과) - 정상 종료
File file = new File("C\\test");
System.out.println(file.toString());
---------- 자바실행 ----------
C\test
출력 완료 (0초 경과) - 정상 종료
trim 공백을 제거하는 함수(앞부분과 뒤부분)
String str14 = " java java java ";
String trimStr = str14.trim();
System.out.println(trimStr);
---------- 자바실행 ----------
java java java
출력 완료 (0초 경과) - 정상 종료
valueOf 숫자 -> 문자열, 문자열 -> 숫자
int num=123;
long lo = 1234L;
double d=123.4567;
String snum = String.valueOf(num);
String slo = String.valueOf(lo);
String sd = String.valueOf(d);
System.out.println(num);
System.out.println(lo);
System.out.println(d);
String _snum = num + "";
String _sd = d + "";
contains 탐색
String str15 = "서울시 강남구";
boolean rb;
rb = str15.contains("서울");
if(rb == true) {
System.out.println("문자열을 찾았습니다.");
}else {
System.out.println("문자열을 찾지못했습니다.");
}
---------- 자바실행 ----------
문자열을 찾았습니다.
출력 완료 (0초 경과) - 정상 종료
charAt : index번호를 넣으면 문자를 돌려준다.
String str16 = "가나다라마";
char ch = str16.charAt(2);
System.out.println(ch);
---------- 자바실행 ----------
다
출력 완료 (0초 경과) - 정상 종료
'IT > Java' 카테고리의 다른 글
Java 배열의 기초 (0) | 2020.02.13 |
---|---|
Java 계산기 만들기 (0) | 2020.02.07 |
Java 반복문 기초 (0) | 2020.02.07 |
이클립스(Eclipse) UTF-8 인코딩(Encoding) 설정 (0) | 2019.11.21 |
[JAVA] JDK설치 및 환경변수 설정 (0) | 2019.11.21 |
댓글