1. 문자열(String) 타입
▷ String 타입
▶ 문자열은 String 객체로 생성합니다.
▷ 문자열 비교 : 문자열 리터럴이 동일하다면 String 객체를 공유합니다.
▶ new 연산자(객체 생성 연산자)로 직접 String 객체를 생성/대입 가능합니다.
public class EqualsExample { public static void main(String[] args) { String strVar1 = "홍길동"; String strVar2 = "홍길동"; if(strVar1 == strVar2) { // == 번지 값을 비교 System.out.println("strVar1과 strVar2는 참조가 같음"); } else { System.out.println("strVar1과 strVar2는 참조가 다름"); } if(strVar1.equals(strVar2)) { // equals 데이터 값을 비교 System.out.println("strVar1과 strVar2는 문자열이 같음"); } String strVar3 = new String("홍길동"); String strVar4 = new String("홍길동"); // 객체로 생성, 새로운 주소 값과 데이터가 따로 저장됩니다. // 리터럴 값("홍길동")이 같지만 주소가 각각 따로 저장됩니다. if(strVar3 == strVar4) { System.out.println("strVar3과 strVar4는 참조가 같음"); } else { System.out.println("strVar3과 strVar4는 참조가 다름"); } if(strVar3.equals(strVar4)) { System.out.println("strVar3과 strVar4는 문자열이 같음"); } } }
▷ 문자열 추출 : charAt()
▶ 문자열에서 매개값으로 주어진 인덱스의 문자를 리턴해 특정 위치의 문자를 얻을 수 있습니다.
▶ 7글자면 왼쪽에서부터 0 ~ 6까지 지정해야합니다.(charAt(6) = 7번째 글자)
▷ 문자열 길이 : length()
▶ 문자열에서 문자의 개수를 얻고 싶다면 length() 메소드를 사용합니다.
public class CharAtExample { public static void main(String[] args) { // 주민등록번호의 값을 이용하여 성별 확인 // 생년월일성별 222(성별) 1 2 3 4 String ssn = "9506241230123"; char sex = ssn.charAt(6); switch(sex) { case '1' : case '3' : System.out.println("남자입니다."); break; case '2' : case '4' : System.out.println("여자입니다."); } int length = ssn.length(); if(length == 13) { System.out.println("주민등록번호 자릿수가 맞습니다."); } else { System.out.println("주민등록번호 자릿수가 틀립니다."); } } } // 출력 : // 남자입니다. // 주민등록번호 자릿수가 맞습니다.
▷ 문자열 대체 : replace()
▶ 기존 문자열은 그대로 두고, 대체한 새로운 문자열을 리턴합니다.
public class ReplaceExample { public static void main(String[] args) { String oldStr = "자바 문자열은 불변입니다. 자바 문자열은 String입니다."; String newStr = oldStr.replace("자바", "JAVA"); System.out.println(oldStr); System.out.println(newStr); } } // 출력 : // 자바 문자열은 불변입니다. 자바 문자열은 String입니다. // JAVA 문자열은 불변입니다. JAVA 문자열은 String입니다.
▷ 문자열 잘라내기 : substring()
▶ 문자열에서 특정위치의 문자열을 잘라내서 가져오고 싶을 때 사용합니다.
public class SubStringExample { public static void main(String[] args) { String ssn = "880815-1234567"; String firstNum = ssn.substring(0, 6); // endindex 앞에서 잘라냅니다. String endNum = ssn.substring(7); // 시작위치부터 끝까지 출력합니다. System.out.println(firstNum); System.out.println(endNum); } } // 출력 : // 880815 // 1234567
▷ 문자열 찾기 : indexOf()
▶ 문자열에서 특정 문자열의 위치를 찾고자 할 때에는 indexOf() 메소드를 사용합니다.
▶ 주어진 문자열이 없는 경우 -1을 리턴합니다.
▶ 주어진 문자열에 단순히 포함여부만 조사하고 싶다면 contains() 메소드를 사용하여 true; false; 리턴 값만 확인합니다.
public class indexOfExample { public static void main(String[] args) { String subject = "자바 프로그래밍"; int location = subject.indexOf("프로그래밍"); System.out.println(location); String substring = subject.substring(location); System.out.println(substring); location = subject.indexOf("자바"); if(location != -1) { System.out.println("자바와 관련된 책이군요."); } else { System.out.println("자바와 관련 없는 책이군요."); } boolean result = subject.contains("자바"); if(result) { System.out.println("자바와 관련된 책이군요."); } else { System.out.println("자바와 관련 없는 책이군요."); } } }
▷ 문자열 분리 : split()
▶ 구분자가 있는 여러 개의 문자열을 분리할 때 사용합니다.
public class SplitExample { public static void main(String[] args) { String board = "1,자바 학습,참조 타입 String을 학습합니다.,홍길동"; // 문자열 분리 String[] tokens = board.split(","); System.out.println("번호 : " + tokens[0]); System.out.println("제목 : " + tokens[1]); System.out.println("내용 : " + tokens[2]); System.out.println("성명 : " + tokens[3]); System.out.println(); for(int i=0; i<tokens.length; i++) { System.out.println(tokens[i]); } } } // 출력 : // 번호 : 1 // 제목 : 자바 학습 // 내용 : 참조 타입 String을 학습합니다. // 성명 : 홍길동 // // 1 // 자바 학습 // 참조 타입 String을 학습합니다. // 홍길동
문자열 타입의 함수를 이용해서 바로 예제로 적용해보았습니다!
확실히 어떻게 사용되는지는 직접 코드로 작성해보는 것이 좋네요!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > Java' 카테고리의 다른 글
[java] 배열을 이용한 추가 연습문제1(array) (4) | 2023.01.09 |
---|---|
[java] 문자열을 이용한 추가 연습문제(indexOf, substring, charAt ) (0) | 2023.01.09 |
[java] 이것이 자바다 ch05 참조 타입 (0) | 2023.01.09 |
[java] 메모리 구조 (0) | 2023.01.09 |
[java] 이것이 자바다 ch4 조건문과 반복문 (0) | 2023.01.07 |