Java - String

CYSSSSSSSSS·2024년 3월 16일
0

자바

목록 보기
13/26

Java

String

  • StringBuffer,StringBuilder와 다르게 불변성을 특징으로 가지고 있으며
  • "+"연산자를 이용하여 직접 합칠수가 있다.

선언

package string;

public class String1 {
    public static void main(String[] args) {
        String a = "CHOCOLATE";
        String b = a;
        String c = "CHOCOLATE";

        String d = new String("CHOCOLATE");
        String e = "PASTA";
    }
}

equals

  • 두 개의 문자열이 동일한 값을 가지고 있는지 결과값을 리턴하는 값이다.
  • a==b는 주소가 같은지 비교 / a.equals(b)가 문자열이 같은지 비교하는 것이다.
package string;

public class String2 {
    public static void main(String[] args) {
        String a = "CHOCOLATE";
        String b = a;
        String c = "CHOCOLATE";

        String d = new String("CHOCOLATE");
        String e = "PASTA";

        System.out.println(a == b); // 같은 주소를 가르키기 때문에 true
        System.out.println(a.equals(b)); // 글자가 같기 때문에 true

        System.out.println(a == c); // 기본적으로 자바는 로컬함수 내에서 같은 문자열이 나오면 공유 상수로 관리한다.(pool)
        System.out.println(a.equals(c));

        System.out.println(a == d); // false
        System.out.println(a.equals(d)); // true

        System.out.println(a == e); // false 
        System.out.println(a.equals(e)); // false
    }
}

indexOf

  • 문자열에서 특정 문자가 시작되는 인덱스를 리턴
package string;

public class String3 {
    public static void main(String[] args) {
        String str1 = "문자열을 공부해봅시다.화이팅";
        String str2 = "abcdef";
        String str3 = "Chocolate/cake/macron";

        System.out.println(str1.indexOf("문자열"));
        System.out.println(str2.indexOf("c"));
        System.out.println(str3.indexOf("/"));
    }
}

length

  • 문자열의 길이 반환
package string;

public class String4 {
    public static void main(String[] args) {
        String a = "안녕하세요. 반가워요";
        String b = "잘 지내셨나요";
        String c = "오랜만에 반가웠어요";

        System.out.println(a.length());
        System.out.println(b.length());
        System.out.println(c.length());
    }
}

SubString

  • 문자열 중 특정 부분을 뽑아낼 경우 사용한다.
package string;

public class String5 {
    public static void main(String[] args) {
        String str1 = "substring 함수를 공부해 봅시다";
        String str2 = "abcdef";
        String str3 = "ghijkl";

        System.out.println(str1.substring(0 , 9));  // 시작 인덱스 , 끝 인덱스 -1 까지 데이터를 부분 문자열 시킨다.
        System.out.println(str2.substring(0)); // 시작 인덱스만 있을시 시작부터 끝 인덱스까지 전부 부분 문자열을 나타낸다
        
    }
}

toUpperCase / toLowerCase

  • toUpperCase : 소문자 -> 대문자
  • toLowerCase : 대문자 -> 소문자
package string;

public class String6 {
    public static void main(String[] args) {
        String str1 = "abcdef";
        String str2 = "ABCDEF";

        System.out.println(str1.toUpperCase()); // 소문자 -> 대문자
        System.out.println(str2.toLowerCase()); // 대문자 -> 소문자
    }
}

concat

  • 두개의 문자열을 하나로 붙이는 함수
package string;

public class String7 {
    public static void main(String[] args) {
        String str1 = "안녕하세요 ";
        String str2 = "반갑습니다.";

        System.out.println(str1.concat(str2)); // 문자열 두개를 붙이는 함수 
    }
}

startWith

  • 문자열이 지정한 문자로 시작하는지 판단하는 함수(Boolean)
package string;

public class String8 {
    public static void main(String[] args) {
        String str1 = "문자열을 공부해봅시다.";
        String str2 = "감있는 사람";
        String str3 = "촉없는 사람";

        System.out.println(str1.startsWith("문"));
        System.out.println(str1.startsWith("문제"));

        System.out.println(str2.startsWith("감"));
        System.out.println(str2.startsWith("촉"));

        System.out.println(str3.startsWith("감"));
        System.out.println(str3.startsWith("촉"));


    }
}

endWith

  • 문자열의 마지막에 지정한 문자가 있는지를 판단후 있으면 true 없으면 false를 리턴
package string;

public class String9 {
    public static void main(String[] args) {
        String str1 = "I LOVE YOU";

        System.out.println(str1.endsWith("U"));
        System.out.println(str1.endsWith("u"));
    }
}

replaceAll

  • 특정 문자를 바꾸고 싶을 경우에 사용한다.
  • 이때 replaceAll은 정규식이 들어간다.
package string;

public class String10 {
    public static void main(String[] args) {
        String str1 = "문자열을 공부해봅시다.화이팅!";
        System.out.println(str1);
        System.out.println(str1.replaceAll("문자열","자료구조"));
    }
}

replace

  • 특정 문자를 원하는 문자로 변경하고 싶을 경우에 사용한다.
package string;

public class String11 {
    public static void main(String[] args) {
        String str3 = "ramen#home#crome";
        System.out.println(str3.replace("#","%"));
        System.out.println(str3.replace("ramen","ramenramen"));
    }
}

split

  • 지정한 문자열을 나눌수 있다.나눈 문자열은 배열로 들어간다.
package string;

public class String12 {
    public static void main(String[] args) {
        String str3 = "Call me baby";
        String[] sp = str3.split(" ");

        for(String a : sp){
            System.out.println(a);
        }
    }
}

trim

  • 문자열의 시작과 끝에 있는 공백을 없애준다. 중간 공백은 없애주지 않는다.
package string;

public class String13 {
    public static void main(String[] args) {
        String str1 = "     Hello   ";
        System.out.println(str1);
        System.out.println(str1.trim());
    }
}

compareTo

  • 두개의 String을 비교하여 틀린 부분이 있으면 String 값을 반환한다.
  • 같으면 0을 리턴 다르면 ASCII 코드값의 차이를 리턴한다.
package string;

public class String14 {
    public static void main(String[] args) {
        String str1 = "A";
        String str2 = "a";
        String str3 = "b";
        String str4 = "c";
        String str5 = "d";

        System.out.println(str1.compareTo(str2));
        System.out.println(str1.compareTo(str3));
        System.out.println(str1.compareTo(str4));
        System.out.println(str1.compareTo(str5));
    }
}

contains

  • 두개의 String을 비교해서 String을 포함하고 있으면 true 아니면 false를 리턴시켜라
package string;

public class String15 {
    public static void main(String[] args) {
        String a = "Home School";
        String b = "School";
        String c ="Students";

        System.out.println(a.contains(b));
        System.out.println(a.contains(c));
    }
}

charAt

  • 지정한 인덱스번째의 문자열을 반환한다.
package string;

public class String16 {
    public static void main(String[] args) {
      String a = "Home at Home";

      System.out.println(a.charAt(3));
    }
}
profile
개발자 되고 싶어요

0개의 댓글

관련 채용 정보