java
이 튜토리얼에서는 예제를 통해 Java 문자열, 생성 방법 및 String 클래스의 다양한 메소드에 대해 알아봅니다.
자바에서 문자열은 일련의 문자입니다. 예:"안녕하세요" 일련의 문자 'h'를 포함하는 문자열입니다. , 'e' , 'l' , 'l' , 및 'o' .
큰따옴표를 사용합니다. 자바에서 문자열을 표현하기 위해 예를 들어,
// create a string
String type = "Java programming";
여기에서 type이라는 문자열 변수를 만들었습니다. . 변수는 Java Programming
문자열로 초기화됩니다. .
class Main {
public static void main(String[] args) {
// create strings
String first = "Java";
String second = "Python";
String third = "JavaScript";
// print strings
System.out.println(first); // print Java
System.out.println(second); // print Python
System.out.println(third); // print JavaScript
}
}
위의 예에서 first라는 세 개의 문자열을 만들었습니다. , 초 및 세 번째 . 여기서는 원시 유형과 같은 문자열을 직접 생성합니다.
그러나 Java 문자열을 만드는 또 다른 방법이 있습니다( new
예어). 이 튜토리얼의 뒷부분에서 이에 대해 알아볼 것입니다.
참고 :Java의 문자열은 기본 유형이 아닙니다(예:int
, char
, 등). 대신 모든 문자열은 String
이라는 미리 정의된 클래스의 객체입니다. .
그리고 모든 문자열 변수는 String
의 인스턴스입니다. 수업.
Java String은 문자열에 대해 다양한 작업을 수행하는 다양한 방법을 제공합니다. 일반적으로 사용되는 몇 가지 문자열 연산을 살펴보겠습니다.
문자열의 길이를 찾으려면 length()
를 사용합니다. String의 메소드. 예를 들어,
class Main {
public static void main(String[] args) {
// create a string
String greet = "Hello! World";
System.out.println("String: " + greet);
// get the length of greet
int length = greet.length();
System.out.println("Length: " + length);
}
}
출력
String: Hello! World Length: 12
위의 예에서 length()
메서드는 문자열의 총 문자 수를 계산하고 반환합니다. 자세한 내용은 Java String length()를 참조하십시오.
concat()
을 사용하여 Java에서 두 문자열을 결합할 수 있습니다. 방법. 예를 들어,
class Main {
public static void main(String[] args) {
// create first string
String first = "Java ";
System.out.println("First String: " + first);
// create second
String second = "Programming";
System.out.println("Second String: " + second);
// join two strings
String joinedString = first.concat(second);
System.out.println("Joined String: " + joinedString);
}
}
출력
First String: Java Second String: Programming Joined String: Java Programming
위의 예에서 first라는 두 개의 문자열을 만들었습니다. 및 초 . 진술을 주목하십시오.
String joinedString = first.concat(second);
여기에서 concat()
메소드 조인 두 번째 문자열을 첫 번째로 문자열을 생성하고 joinedString에 할당합니다. 변수.
+
를 사용하여 두 문자열을 결합할 수도 있습니다. 자바의 연산자. 자세한 내용은 Java String concat()을 참조하십시오.
Java에서는 equals()
을 사용하여 두 문자열을 비교할 수 있습니다. 방법. 예를 들어,
class Main {
public static void main(String[] args) {
// create 3 strings
String first = "java programming";
String second = "java programming";
String third = "python programming";
// compare first and second strings
boolean result1 = first.equals(second);
System.out.println("Strings first and second are equal: " + result1);
// compare first and third strings
boolean result2 = first.equals(third);
System.out.println("Strings first and third are equal: " + result2);
}
}
출력
Strings first and second are equal: true Strings first and third are equal: false
위의 예에서 first라는 3개의 문자열을 생성했습니다. , 초 및 세 번째 . 여기에서는 equal()
를 사용하고 있습니다. 한 문자열이 다른 문자열과 같은지 확인하는 방법입니다.
equals()
메서드는 문자열을 비교하는 동안 문자열의 내용을 확인합니다. 자세한 내용은 Java String equals()를 참조하십시오.
참고 :==
를 사용하여 두 문자열을 비교할 수도 있습니다. 자바의 연산자. 그러나 이 접근 방식은 equals()
과 다릅니다. 방법. 자세한 내용은 Java String ==vs equals()를 참조하십시오.
이스케이프 문자는 문자열 내부에 있는 일부 문자를 이스케이프하는 데 사용됩니다.
문자열 안에 큰따옴표를 포함해야 한다고 가정합니다.
// include double quote
String example = "This is the "String" class";
문자열은 큰따옴표로 표시되기 때문에 , 컴파일러는 "This is " 문자열로. 따라서 위의 코드는 오류가 발생합니다.
이 문제를 해결하기 위해 이스케이프 문자 \
를 사용합니다. 자바에서. 예를 들어,
// use the escape character
String example = "This is the \"String\" class.";
이제 이스케이프 문자는 컴파일러에게 큰 따옴표를 이스케이프하도록 지시합니다. 전체 텍스트를 읽으십시오.
<시간>Java에서 문자열은 불변합니다. . 즉, 문자열을 생성하면 해당 문자열을 변경할 수 없습니다.
더 깊이 이해하려면 다음 예를 고려하십시오.
// create a string
String example = "Hello! ";
여기에서 example이라는 문자열 변수를 만들었습니다. . 변수는 문자열 "Hello! "를 보유합니다. .
이제 문자열을 변경한다고 가정합니다.
// add another string "World"
// to the previous tring example
example = example.concat(" World");
여기에서는 concat()
를 사용하고 있습니다. 다른 문자열을 추가하는 메소드 World 이전 문자열로.
이전 문자열의 값을 변경할 수 있는 것 같습니다. 그러나 이것은 true
가 아닙니다. .
여기서 무슨 일이 일어났는지 봅시다.
지금까지 우리는 Java에서 기본 유형과 같은 문자열을 만들었습니다.
Java의 문자열은 객체이므로 new
을 사용하여 문자열을 생성할 수 있습니다. 키워드도. 예를 들어,
// create a string using the new keyword
String name = new String("Java String");
위의 예에서 우리는 name 문자열을 생성했습니다. new
사용 키워드.
여기에서 문자열 개체를 만들 때 String()
생성자가 호출됩니다. 생성자에 대해 자세히 알아보려면 Java 생성자를 방문하십시오.
참고 :String
클래스는 문자열을 생성하기 위한 다양한 다른 생성자를 제공합니다. 자세한 내용은 Java String(공식 Java 설명서)을 참조하십시오.
class Main {
public static void main(String[] args) {
// create a string using new
String name = new String("Java String");
System.out.println(name); // print Java String
}
}
<시간>
이제 문자열 리터럴과 new
을 사용하여 문자열이 생성되는 방법을 알게 되었습니다. 키워드의 주요 차이점을 살펴보겠습니다.
Java에서 JVM은 문자열 풀을 유지합니다. 모든 문자열을 메모리에 저장합니다. 문자열 풀은 문자열을 재사용하는 데 도움이 됩니다.
1. 문자열 리터럴을 사용하여 문자열을 생성하는 동안
String example = "Java";
여기서는 문자열(Java
). 따라서 컴파일러는 먼저 문자열 풀을 확인하여 문자열이 이미 존재하는지 확인합니다.
Java
).Java
생성됩니다.2. new 키워드를 사용하여 문자열을 생성하는 동안
String example = new String("Java");
여기서 문자열의 값은 직접 제공되지 않습니다. 따라서 새로운 "Java"
"Java"
에도 불구하고 문자열이 생성됩니다. 메모리 풀 내부에 이미 있습니다.
위에서 언급한 것 외에도 Java에는 다양한 문자열 메서드가 있습니다. 다음은 이러한 방법 중 일부입니다.
방법 | 설명 |
---|---|
포함() | 문자열에 하위 문자열이 포함되어 있는지 확인 |
하위 문자열() | 문자열의 하위 문자열을 반환 |
가입() | 구분자를 사용하여 주어진 문자열을 결합 |
교체() | 지정된 이전 문자를 지정된 새 문자로 대체합니다. |
replaceAll() | 정규식 패턴과 일치하는 모든 하위 문자열을 대체합니다. |
replaceFirst() | 첫 번째 일치하는 부분 문자열 바꾸기 |
charAt() | 지정된 위치에 있는 문자를 반환 |
getBytes() | 문자열을 바이트 배열로 변환 |
indexOf() | 문자열에서 지정된 문자의 위치를 반환 |
compareTo() | 사전 순서로 두 문자열을 비교합니다. |
compareToIgnoreCase() | 대소문자를 무시하고 두 문자열을 비교합니다. |
트림() | 모든 선행 및 후행 공백 제거 |
형식() | 포맷된 문자열을 반환 |
분할() | 문자열을 문자열 배열로 나눕니다. |
toLowerCase() | 문자열을 소문자로 변환 |
toUpperCase() | 문자열을 대문자로 변환 |
valueOf() | 지정된 인수의 문자열 표현을 반환합니다. |
toCharArray() | 문자열을 char 으로 변환합니다. 배열 |
일치() | 문자열이 주어진 정규식과 일치하는지 확인 |
startsWith() | 문자열이 주어진 문자열로 시작하는지 확인 |
endsWith() | 문자열이 주어진 문자열로 끝나는지 확인 |
빈() | 문자열이 비어 있는지 확인 |
인턴() | 문자열의 표준 표현을 반환합니다. |
contentEquals() | 문자열이 charSequence와 같은지 확인 |
해시코드() | 문자열에 대한 해시 코드를 반환합니다. |
하위 시퀀스() | 문자열에서 하위 시퀀스를 반환 |
java
문자열은 실제로 null로 끝나는 문자의 1차원 배열입니다. 문자 \0. 따라서 null로 끝나는 문자열은 null 뒤에 오는 문자열을 구성하는 문자를 포함합니다. . 다음 선언 및 초기화는 Hello라는 단어로 구성된 문자열을 생성합니다. 배열의 끝에 널 문자를 유지하려면 문자열을 포함하는 문자 배열의 크기가 Hello라는 단어의 문자 수보다 하나 더 커야 합니다. char greeting[6] = {H, e, l, l, o, \0}; 배열 초기화 규칙을 따르면 위의 명령문을 다음과 같이 작성할 수 있습니다. - char
C++는 다음 두 가지 유형의 문자열 표현을 제공합니다. - C 스타일 문자열입니다. 표준 C++에 도입된 문자열 클래스 유형입니다. C 스타일 문자열 C 스타일 문자열은 C 언어에서 시작되었으며 C++ 내에서 계속 지원됩니다. 이 문자열은 실제로 null로 끝나는 1차원 문자 배열입니다. 문자 \0. 따라서 null로 끝나는 문자열은 null 뒤에 오는 문자열을 구성하는 문자를 포함합니다. . 다음 선언 및 초기화는 Hello라는 단어로 구성된 문자열을 생성합니다. 배열의 끝에 널 문자를 유지하려면 문자열을 포함하는 문자