문자열이란 문장을 뜻한다. 예를 들어 다음과 같은 것들이 문자열이다.
"Happy Java";
"a"
"123"
자바에서 문자열을 나타내는 자료형은 String이다.
String a = "Happy Java";
String b = "a";
String c = "123";
String a = new String("Happy Java");
String b = new String("a");
String c = new String("123");
//여기서 new는 객체를 만들 때 사용한다.
자로형 int,boolean,char,double,long,float 등을 자바는 원시자료형이라고 부른다.
이런primitive 자료형은 new키워드로 그 값을 생성할 수 없습니다.
boolean result = true;
char captialC = 'C';
int i = 10000;
여기서!! 하나 기억해 둘 것이 있다.내가 뒤쪽으로 공부하면서 헷갈린 것이 String인데
String 또한 "Happy Java"와 같이 리터럴로 표기가 가능하지만 primitive자료형은 아니다.
String은 리터럴 표현식을 사용할 수 있도록 자바에서 특별 대우 해주는 자료형이다.
int, long, double, float, boolean 등의 원시 자료형은 다음 처럼 각각에 대응하는 Wrapper클래스들이 존재한다.
이제 내가 계속 공부하면서 새로 배우고 싶었던 것이 이 문자열 내장 메서드이다.
equals는 두 개의 문자열이 동일한지를 비교하여 결과값을 리턴한다.
예를 들어보면
String a = "Hello";
String b = "java";
String c = "Hello";
System.out.println(a.equals(b)); // false 출력
System.out.println(a.equals(c)); // true 출력
-문자열 a와 문자열b는 "Hello"와 "java"로 서로 갖지 않다. 따라서 equals메서드 호출시 false를 리턴한다. 문자열 a와 문자열 c는 "Hello"와"Hello"로 서로 같으므로 true를 리턴한다.
String a = "Hello";
String b = new String("Hello");
System.out.println(a.equals(b)); // true
System.out.println(a == b); // false
indexOf는 문자열에서 특정문자가 시작되는 위치(인덱스)를 리턴한다.
Stirng a = "Hello Java";
System.out.println(a.indexOf("Java"); //6출력
System.out.println(a.indexOf("J")); //6출력
contains는 문자열에서 특정 문자열이 포함되어 있는지의 여부를 리턴한다.
Stirng a = "Hello Java";
System.out.println(a.constains("Java"); //true 출력
특정 위치의 문자를 리턴한다.
Stirng a = "Hello Java";
System.ou.println(a.charAt(6) // "J" 출력
replaceAll은 문자열 중 특정 문자열을 다른 문자열로 바꾸조가 할 때 사용한다.
Stirng a = "Hello Java";
System.out.println(a.replaceAll("Java","World")); //Hello Worel 출력
substring은 문자열 중 특정 부분을 뽑아낼 경우에 사용한다.
Stirng a = "Hello Java"; System.out.println(a.substring(0,4); //Hell 출력
- 위처럼 substring(시작위치,끝위치)와 같이 사용하면 문자열의 시작위치에서 끝위치까지의 문자를 리턴하게 된다.단,끝위치는 포함이 안된다는 점을 주의하자!
시작 위치 <= substtring() < 끝위치
toUpperCase는 문자열을 모두 대문자로 변경할 때 사용한다.(모두 소문자로 변경할때는 toLowerCase를 사용한다.)
Stirng a = "Hello Java";
System.out.println(a.toUpperCase()); //HELLO JAVA 출력
split 메서드는 문자열을 특정 구분자로 분리하는 메서드이다.
Stirng a = "a:b:c:d";
String[] temp = a.split(":"); //result는 {"a","b","c","d"}
//출력할때는 for(String s : temp){
System.out.println(s);}를 하면 된다.
각 멤버 사이에 지정된 구분 기호를 사용하여 개체 배열의 문자열 표현을 연결합니다.
System.out.println(String.join("@","Hello","java","World")); //Hello@Java@Wrold