JAVA/이론

34. [ JAVA ] 문자열 생성하는 방법

천재단미 2024. 12. 17. 10:28
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
home top bottom
}