문자열
문자열의 길이
sout 변수뒤에 .length로 문자열의 길이 알 수 있음
package chap_03;
public class _01_String1 {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
System.out.println(s);
System.out.println(s.length());
}
}
결과값 I like Java and Python and C. 29 |
대소문자 변환
변수뒤에 .toUpperCase() / .toLowerCase() 명령어로 각기 전체문장 대문자로 변환, 소문자로 변환이 가능하다
package chap_03;
import java.util.Locale;
public class _01_String1 {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
System.out.println(s);
System.out.println(s.length());
System.out.println(s.toUpperCase());
System.out.println(s.toLowerCase());
}
}
결과값 I like Java and Python and C. 29 I LIKE JAVA AND PYTHON AND C. i like java and python and c. |
포함관계
문장 속에서 특정 문구를 찾을 수 있는 명령어로 변수뒤에 .contains("찾는 단어")로 포함의 유무를 알 수 있음
문장 속에서 특정 문구의 위치를 찾을 수 있는 명령어로 변수 뒤에 .indexOf("찾는 단어")로 위치 정보를 알 수 있음
- 컴퓨터에서는 시작 위치는 0부터 시작함
- 문장 속에 포함되지 않는 단어는 -1을 출력함
indexOf 명령어는 처음으로 만나는 해당 단어를 / lastofindexOf 명령어는 마지막으로 만나는 해당 단어 위치를 알려줌
문자열이 해당 단어로 시작하는지는 startswith로 해당 단어로 끝나는지는 endwith로 알 수 있음
package chap_03;
import java.awt.geom.Line2D;
import java.util.Locale;
public class _01_String1 {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
System.out.println(s);
System.out.println(s.contains("Java"));
System.out.println(s.contains("C#"));
System.out.println(s.indexOf("Java"));
System.out.println(s.indexOf("C#"));
System.out.println(s.indexOf("and"));
System.out.println(s.lastIndexOf("and"));
System.out.println(s.startsWith("I like"));
System.out.println(s.endsWith("."));
}
}
결과값 I like Java and Python and C. true false 7 -1 12 23 true true |
문자열 변환
변수.replace명령어는 해당 문자열에서 바꿀 문자와 바꿔질 문자를 지정해 바꿀 수 있음
변수 .substring명령어는 잘라내기를 시작하고 싶은 문자 위치를 입력해주면 그 위치 이전에 문자들은 삭제됨
- 변수 내의 문자열까지 삭제되는건 아님
- 단어의 위치를 모를 경우 해당 함수 내에 이전에 사용했던 indexof 함수를 추가함으로 단어로 위치를 지정해줄 수 있음
- 시작위치 , 끝 위치를 지정해줌으로 해당 위치들을 잘라낼 수 있음
(시작위치는 해당 단어 위치를 포함하지만 끝 위치는 포함하지 않는다)
package chap_03;
public class _02_String2 {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
System.out.println(s.replace("and", ","));
System.out.println(s.substring(7));
System.out.println(s.substring(s.indexOf("Java")));
System.out.println(s.substring(s.indexOf("Java"), s.indexOf(".")));
}
}
결과값 I like Java , Python , C. Java and Python and C. Java and Python and C. Java and Python and C |
공백 제거
trim() 함수로 공백을 제거 할 수 있다
package chap_03;
public class _02_String2 {
public static void main(String[] args) {
String s = "I like Java and Python and C.";
s = " I love Java. ";
System.out.println(s);
System.out.println(s.trim());
}
}
결과값 I love Java. I love Java. |
문자열 결합
문자열 결합 또한 정수 계산하는 것과 같이 +로 결합 가능함
결합할 문자열 변수 사이에 ","과 같이 일반 문자도 + 로 같이 결합 가능함
또는 concat 함수로 결합이 가능함
package chap_03;
public class _02_String2 {
public static void main(String[] args) {
String s1 = "Java";
String s2 = "Python";
System.out.println(s1 + s2);
System.out.println(s1 + ", " + s2);
System.out.println(s1.concat(", ").concat(s2));
}
}
결과값 JavaPython Java, Python Java, Python |
문자열 비교
변수.equals(비교할 변수) 형태로 문자열 변수가 서로 같은지 알 수 있음
변수.equals("비교할 단어") 형태로 문자가 서로 같은지 알 수 있음
-equals는 대소문자까지 비교해서 동일한지 파악함 / equalsignorecase는 대소문자 상관없이 문자만 같은지 비교함
package chap_03;
public class _03_StringCompare {
public static void main(String[] args) {
String s1 = "Java";
String s2 = "Python";
System.out.println(s1.equals("Java"));
System.out.println(s2.equalsIgnoreCase("Python"));
}
}
결과값 true true |
문자열 비교 심화
문자열 비교에서도 정수 비교와 같이 ==으로 같은지 확인 할 수 있음
-이는 다른 변수명에 같은 변수의 위치값이 저장되어 있는거라 동일하다고 판단함
-단 new라는 명령어를 붙여주면 해당 변수명에 다른 변수의 위치가 저장되어 다르다고 판단함
*해당 이유로 자바에서 문자열을 비교할 때에는 equals를 이용해야 함
package chap_03;
public class _03_StringCompare {
public static void main(String[] args) {
String s1 = "1234";
String s2 = "1234";
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);
s1 = new String("1234");
s2 = new String("1234");
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);
}
}
결과값 true true true false |
특수문자 (\n , \t, \\, \", \')
- \n : 줄바꿈을 해줌
- \t : 탭 효과를 줌
- \\ : 하나의 \문자를 표현하기 위해 사용함
- \" : 문자열 내에서 ""를 표현하기 위해 사용함
- \' : 문자열 내에서 ''를 표현하기 위해 사용함
package chap_03;
public class _04_EscapeSequence {
public static void main(String[] args) {
System.out.println("자바가");
System.out.println("너무");
System.out.println("재밌어요");
System.out.println("자바가\n너무\n재밌어요");
System.out.println("해물파전\t\t9000원");
System.out.println("김치전\t\t8000원");
System.out.println("부추파전\t\t8000원");
System.out.println("C:\\Program Files\\Java");
System.out.println("단비가 \"냐옹\" 이라고 했어요");
System.out.println("단비가 \'뭘 봐?\' 라는 표정을 지었어요");
char c = 'A';
c = '\'';
System.out.println(c);
}
}
결과값 자바가 너무 재밌어요 자바가 너무 재밌어요 해물파전 9000원 김치전 8000원 부추파전 8000원 C:\Program Files\Java 단비가 "냐옹" 이라고 했어요 단비가 '뭘 봐?' 라는 표정을 지었어요 ' |