-
[Java] String 클래스프로그래밍/JAVA 2022. 8. 6. 08:58728x90
String 클래스는 java.lang 패키지에 포함되어 제공되며, 자바의 문자열 관련하여 다룰 수 있는 클래스이다.
리터럴 표기법
리터럴 표기법은 선언과 동시에 문자열 값을 지정해주는 방식으로 일반적으로
String 변수명 = new String("저장할 값"); 예) String str = new String("apple");
이러한 진행으로 문자열 객체를 생성하나 리터럴 표기법으로 문자열 객체를 생성하면 아래와 같다.
String 변수명 = 값; 예) String str = "apple";
String은 불변 객체임으로 변수가 다른 값으로 바꾸고자한다면, 기존의 값을 지우는 것이 아닌 새로운 값을 생성하여 그쪽으로 방향을 가르킨다.
String str1 = new String("apple"); String str2 = new String("apple"); String str3 = "apple"; String str4 = "apple"; System.out.println(str1 == str2); // false : 주소값을 비교, 다른 객체를 생성한 것. System.out.println(str1.equals(str2)); // true : 값(문자 그 자체)을 비교 System.out.println(str3 == str4); // true : 리터럴로 생성된 String은 "apple"이라는 같은 객체를 참조 System.out.println(str3.equals(str4)); //true
String 클래스의 여러 종류
String str1 = new String("Java"); System.out.println(str1);// Java String str2 = "Programming"; System.out.println(str2); // Programming // concat() : 문자열과 문자열을 연결 System.out.println(str1.concat(str2)); //JavaProgramming // ✔indexof : 원하는 문자열 혹은 문자를 찾아 해당하는 문자의 index를 리턴 System.out.println(str2.indexOf("p")); // -1 : 찾지못함 System.out.println(str2.indexOf("P")); // 0 : 인덱스 0번, 문자열 System.out.println(str2.indexOf('P')); // 0 : 인덱스 0번, 문자 System.out.println(str2.indexOf("gra")); // 3 : 문자열의 시작 인덱스 3번 // trim() : 문자열의 앞뒤 공백을 제거 String str3 = new String(" 자바 "); System.out.println(str3 + "@"); // 자바 @ System.out.println(str3.trim() + "@"); // 자바@ : 앞뒤 공백 제거 // toLowerCase(), toUpperCase() : 문자를 소문자, 대문자로 변환 System.out.println(str2.toLowerCase()); // programming System.out.println(str2.toUpperCase()); // PROGRAMMING // length() : 문자열의 길이를 반환 System.out.println(str2.length()); // 11 // substring() : 원하는 문자열을 추출 System.out.println(str2.substring(3)); // gramming : 문자열의 index 3부터 끝까지 추출 System.out.println(str2.substring(3,6)); // gra : 문자열의 index 3부터 6이 되기 전까지 추출 // 문자열을 숫자로 변환 : Integer.parseInt() String str4 = "100"; int i = 200; int result = Integer.parseInt(str4) + i; System.out.println(result); // 300
728x90'프로그래밍 > JAVA' 카테고리의 다른 글
[Java] 생성자(constructor) (0) 2022.08.06 [Java] 객체지향 프로그래밍 (0) 2022.08.06 [Java] 배열(Array) (0) 2022.08.06 [Java] 중첩 반복문 (0) 2022.08.03 [Java] continue, break (0) 2022.08.03