728x90
반응형
Java에서 문자열을 찾고 변경하는 데는 여러 메서드가 있습니다
1) 문자열 리터럴 사용
String str1 = "Hello"; |
2) new 키워드로 String 객체 생성
String str2 = new String ( "Hello" ); |
3) 문자 배열로 생성
char[] charArray = {'H', 'e', 'l', 'l', 'o'}; String str3 = new String(charArray); |
4) StringBuffer() 나StringBuilder() 로 생성
String str4 = new StringBuilder().append("Hello").append(", World!").toString(); String str5 = new StringBuffer().append("Hello").append(", World!").toString(); |
5) String.format() 메서드 사용
String str6 = String.format("%s, %s!", "Hello", "World"); |
6) String.join() 메서드 사용
String str7 = String.join(" ", "Hello", "World!"); |
7) 문자열 연결 연산자(+) 사용
String str8 = "Hello" + " " + "World!"; str1 = "say"; str2 = "Hello"; System.out.println(str1 + " " + str2 + "!!"); |
8) 정수
int num1 = 5; Interger num2 = 5; |
9) 실수
double num5 = 3.14; Double num6 = 3.14; float num3 = 5f; Float num4 = 5f; |
10) 문자열 숫자로 바꾸는 방법
String str3 = "317"; int newNum = Integer.valueOf(str3).intValue(); System.out.println(newNum + 100); 317+100= => 417 newNum = Integer.parseInt(str3); System.out.println(newNum + 100); 317+100= => 417 String str4 = "3.14"; double newDouble = Double.parseDouble(str4); System.out.println(newDouble + 100); 3.14 + 100= => 103.14 |
11) 숫자를 문자열로 변환하는 방법
int k = 365; String newk = "" + k; System.out.println( newk + 100 ); 365 문자와100 합친것 => 365100 |
12) 문자열의 함수들 소개 (중요! "문자열의"의 가 중요)
// 1. concat() :두 문자열을 연결하는 함수 System.out.println(str1.concat(str2)); = > sayHello // 2. length() : 문자의 갯수를 구하는 함수 System.out.println(str1.length()); => 3 // 3.substing() : 문자열을 슬라이싱 하는 함수 String date = "Hello World~!"; System.out.println( date.substring(3)); => lo World~! System.out.println( date.substring(3,7)); // 3번째 부터 7번째 전까지 가져오는 함수 => lo W // 4. split() : 문자열을 분리하는 함수 String data = "빨강, 파랑, 노랑"; // 공백이 있는 경우 String data = "빨강,파랑,노랑"; // 공백이 없는 경우 str1 = "010-4147-3607"; //data를 콤마로 분리하자. String[] dataArry = data.split(","); for (int i = 0; i < dataArry.length ; i++){ System.out.println(dataArry[i]); } => 빨강 파랑 노랑 위와 같이 공백도 계산되어 분리되어 나타납니다. => 빨강 파랑 노랑 String[] strArray = str1.split("-"); for(int i = 0; i < strArray.length; i++){ System.out.println(strArray[i]); } => 010 4147 3607 |
// 5. equals(): 두 문자열의 내용이 같은지 비교 (대소문자 구분) // 6. equalsIgnoreCase(): 대소문자를 구분하지 않고 문자열 비교 data = "abc@naver.com"; str1 = "ABC@naver.com"; System.out.println(data.equals(str1)); System.out.println(data.equalsIgnoreCase(str1)); ==> false ==> true // 7. trim(): 문자열 앞뒤의 공백을 제거 data = " abc@naver.com"; System.out.println(data); data = data.trim(); System.out.println(data); ==> abc@naver.com ==> abc@naver.com // 8. toLowerCase(): 모든 문자를 소문자로 변환 // 9. toUpperCase(): 모든 문자를 대문자로 변환 // 10.contains(): 특정 문자열이 포함되어 있는지 확인 System.out.println(data.contains("@"); System.out.println(data.contains("naver"); ==> true ==> true // 11.compareTo(): 문자열을 사전순으로 비교 // 예) 알파베순, 가나다순 .. data = "say"; str1 = "hello"; //결과는 음수, 0,양수 이렇게 3개가 나옵니다. //따라서 음수로 나오면 if(data.compareTo(str1) < 0 ){ System.out.println("data가 str1 보다 작다. data가 문자열이 더 빠른순"); }else if (data.compareTo(str1) > 0 ) { System.out.println("data가 str1 보다 크다. data가 문자열이 더 느린순"); }else if(data.compareTo(str1) == 0 ) { System.out.println("data가 str1 은 같은 문자열이다."); } ==> data가 str1 보다 크다. data가 문자열이 더 느린순 |
- 기타 문자열의 함수들
- 문자열 검색
- indexOf(): 특정 문자나 문자열의 위치를 찾음
- astIndexOfl(): 뒤에서부터 특정 문자나 문자열의 위치를 찾음
- 문자열 추출
- charAt(): 특정 위치의 문자를 반환
- replace(): 특정 문자나 문자열을 다른 것으로 대체
- 문자열 기타 조작
- isEmpty(): 문자열이 비어있는지 확인
728x90
반응형
'JAVA > 이론' 카테고리의 다른 글
36. [ JAVA ] 배열 : HashMap (0) | 2024.12.17 |
---|---|
35. [ JAVA ] 배열 : ArrayList (0) | 2024.12.17 |
33. [ JAVA ] 상속 : interface (0) | 2024.12.16 |
31. [ JAVA ] 상속 : 추상클래스(abstract class) (0) | 2024.12.16 |
30. [ JAVA ] 상속 : 직속 (0) | 2024.12.16 |