For developer/JAVA
(JAVA)문자열클래스
프린이0218
2020. 5. 12. 20:04
public class Ex_String02 {
//문자열의 대소관계 비교(compareTo(), compareToIgnoreCase())
//동등관계 비교(equals(), equalsIgnoreCase())
public static void main(String[] args) {
String str1 = "APPLE";
String str2 = "ORANGE";
String str3 = "APPLE";
String str4 = "apple";
//if(str1 > str2)▶ 오류 : 문자열의 대소관계는 비교연산자를 사용할 수 없다.
//문자열의 비교는 유니코드 값으로 비교한다 ▶ compareTo()
//compareTo() 결과 : 양수, 0, 음수
int result = str1.compareTo(str2);
System.out.println(result); //-14(음수) : str2가 더 크다
result = str1.compareTo(str3);
System.out.println(result); //0 : str1과 str2는 같다
result = str4.compareTo(str1);
System.out.println(result); //32(양수) : str4가 더 크다
result = str1.compareToIgnoreCase(str4); //대소문자 구분없이 비교
System.out.println(result); //0 : str1과 str4는 같다
//문자열이 같은지 다른지(동등관계)를 판단 ▶ if(str1.compareTo(str2) == 0)
if(str1.equals(str2)) { //equals() : true, false 반환
System.out.println(str1 + "과(와) " + str2 + "은(는) 같다.");
}else {
System.out.println(str1 + "과(와) " + str2 + "은(는) 같지 않다.");
}
if(str1.equals(str3)) { //equals() : true, false 반환
System.out.println(str1 + "과(와) " + str3 + "은(는) 같다.");
}else {
System.out.println(str1 + "과(와) " + str3 + "은(는) 같지 않다.");
}
if(str1.equals(str4)) { //equals() : true, false 반환
System.out.println(str1 + "과(와) " + str4 + "은(는) 같다.");
}else {
System.out.println(str1 + "과(와) " + str4 + "은(는) 같지 않다.");
}
if(str1.equals(str4.toUpperCase())) {
System.out.println(str1 + "과(와) " + str4 + "은(는) 같다.");
}else {
System.out.println(str1 + "과(와) " + str4 + "은(는) 같지 않다.");
}
if(str1.toLowerCase().equals(str4)) {
System.out.println(str1 + "과(와) " + str4 + "은(는) 같다.");
}else {
System.out.println(str1 + "과(와) " + str4 + "은(는) 같지 않다.");
}
if(str1.equalsIgnoreCase(str4)) { //대소문자 구분없이 비교한다.
System.out.println(str1 + "과(와) " + str4 + "은(는) 같다.");
}else {
System.out.println(str1 + "과(와) " + str4 + "은(는) 같지 않다.");
}
}//main()
}//class
import java.util.Arrays;
public class Ex_String01 {
//String Class : 문자열을 조작하기 위한 기능을 담고 있는 클래스
//SunMicroSystem(Oracle) 업체에서 미리서 제작하여 제공 ▶ API(Library)
//API 문서(설명서) : www.oracle.com > Java APIs
//JRE System Library > rt.jar > java.lang > String.class
public static void main(String[] args) {
String str1 = "apple"; //apple 문자열을 str1 변수에 할당
String str2 = new String("APPLE"); //APPLE 문자열을 str2 객체에 할당
System.out.println(str1);
System.out.println(str2);
//문자열의 길이 : length()
System.out.println("str1의 길이 : " + str1.length());
//대문자로 변경 : toUpperCase()
System.out.println("str1을 대문자로 변경 : " + str1.toUpperCase());
//소문자로 변경 : toLowerCase()
System.out.println("str2을 소문자로 변경 : " + str2.toLowerCase());
//특정문자만 추출 : subString()
System.out.println(str1.substring(1)); //index 1부터 끝까지 추출
System.out.println(str1.substring(1, 3)); //index 1부터 3의 앞까지 추출
//문자열에서 특정 문자 한 글자만 출력 : charAt()
System.out.println(str2.charAt(3));
System.out.println(str2.substring(3, 4));
//특정 문자의 존재여부 : indexOf() ▶ 존재 : index 값을 반환, 실패 : -1
int index = str2.indexOf("B");
System.out.println(index);
//문자열 분리 : split()
String str3 = "가나@다라@마바";
String[] sp = str3.split("@");
for (int i = 0; i < sp.length; i++) {
System.out.println(sp[i]);
}
System.out.println(Arrays.toString(sp));
//문자열 치환(찾아 바꾸기) : replaceAll()
System.out.println(str2.replaceAll("PP", "@@")); //PP → @@
System.out.println(str2.replaceAll("P", "@@")); //P → @@
//좌우 공백 제거 : trim()
String str4 = " abc def ";
System.out.println(str4);
System.out.println("공백 제거 전 길이 : " + str4.length());
System.out.println(str4.trim());
System.out.println("공백 제거 후 길이 : " + str4.trim().length());
}//main()
}//class