Development/Java

Java ํด๋ž˜์Šค ๋ฐ ๋ฉ”์„œ๋“œ ์ •๋ฆฌ

Kirok Kim 2021. 12. 8. 23:03

Java ํด๋ž˜์Šค ๋ฐ ๋ฉ”์„œ๋“œ ์ •๋ฆฌ

String

๋ฉ”์„œ๋“œ
  • ๊ธฐํƒ€ ์ฃผ์˜์‚ฌํ•ญ
๋”๋ณด๊ธฐ

๐Ÿ’ก ์œ„์™€ ๊ฐ™์ด ์ž‘์—…์„ ํ•˜๋ฉด ๊ฒฐ๊ตญ String ํƒ€์ž… a๋ณ€์ˆ˜์—๋Š” hellojavaworld๋ผ๋Š” ๋ฌธ์ž์—ด์ด ํ• ๋‹นํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ, ์œ„ ๊ณผ์ •์—์„œ๋Š” ์ตœ์ดˆ์˜ hello๋ผ๋Š” ๋ฌธ์ž์—ด์ด ์žˆ๊ณ , ์—ฌ๊ธฐ์— java๊ฐ€ ๋”ํ•ด์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ hello/java๋Š” ๊ทธ๋Œ€๋กœ ์žˆ๊ณ  hellojava๊ฐ€ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ๋‹ค. ์—ฌ๊ธฐ์— world๊ฐ€ ๋ถ™๋Š”๊ฒƒ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ๊ฒฐ๊ตญ ์œ„์™€ ๊ฐ™์ด ์ž‘์—…ํ•˜๋ฉด hello, java, world, hellojava, hellojavaworld ์ด 5๊ฐœ์˜ ๋ฌธ์ž์—ด์ด ์ƒ์„ฑ๋œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

  • String a = "hello" + "java" + "world"
  • ๋”ฐ๋ผ์„œ ๋ฌธ์ž์—ด์˜ ๊ฒฐํ•ฉ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” String ํด๋ž˜์Šค๊ฐ€ ์•„๋‹Œ, StringBuilder, StringBuffer ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ž!
  1. ํŠน์ • ์ธ๋ฑ์Šค์˜ ๋ฌธ์ž ๋˜๋Š” ํŠน์ • ๋ฌธ์ž์˜ ์œ„์น˜ ์กฐํšŒ
    • indexOf(char ch)
      • ํŠน์ • ๋ฌธ์ž๊ฐ€ ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜. ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ -1 ๋ฐ˜ํ™˜
      • String emailAddress = "mygoaway@naver,com";
        if(emailAddress.indexOf("@") < 0 || emailAddress.indexOf(".") < 0) {
            System.out.println("์ž˜๋ชป๋œ ์ด๋ฉ”์ผ ํ˜•์‹์ž…๋‹ˆ๋‹ค.");
        }
    • charAt(int index)
      • ํŠน์ • ์œ„์น˜, ์ฆ‰ index์— ์œ„์น˜ํ•œ ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. index๋ฒ”์œ„ 0 <= index <= ๊ธธ์ด-1
      • String number = "000127-3121215";
        char gender = number.charAt(7);
        
        if(gender == '1' || gender == '3') {
            System.out.println("๋‹น์‹ ์€ ๋‚จ์„ฑ์ž…๋‹ˆ๋‹ค.");
        } else if (gender == '2' || gender == '4') {
            System.out.println("๋‹น์‹ ์€ ์—ฌ์„ฑ์ž…๋‹ˆ๋‹ค.");
        } else {
            System.out.println("์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ํ˜•์‹์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.");
        }
  2. ๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ ๋น„๊ต
    • ๋‘˜์˜ ์ฐจ์ด์ ์€ equals์€ ๋Œ€์†Œ๋ฌธ์ž ํฌํ•จํ•ด์„œ ๋น„๊ต, equalsIgnoreCare๋Š” ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์—†์ด ๋น„๊ต
    • String a = "hello";
      System.out.println("HELLO".equals(a));              // false
      System.out.println("HELLO".equalsIgnoreCase(a));    // trueโ€‹
  3. ๋ฌธ์ž์—ด ๋Œ€์ฒด์™€ ์ถ”์ถœ
    • replace
      • ๊ธฐ์กด ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋ฌธ์ž์—ด์„ ์ฐพ์•„ ์›ํ•˜๋Š” ๋ฌธ์ž์—ด๋กœ ๋Œ€์ฒดํ•ด์„œ ๋ฆฌํ„ด
    • substring
      • ๊ธฐ์กด ๋ฌธ์ž์—ด์—์„œ ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•ด ๋ฌธ์ž์—ด์˜ ํŠน์ • ๋ถ€๋ถ„์„ ์ž˜๋ผ๋‚ด์„œ ๋ฆฌํ„ด
    • replace, substring ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‘˜๋‹ค ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•˜๋Š” ๊ฒฝ์šฐ
    • String phoneNumber = "010-2154-2143";
      String last4 = phoneNumber.substring(9, phoneNumber.length());
      System.out.println("์ถ”์ถœ๋œ 4์ž๋ฆฌ ์ˆซ์ž = " + last4);
      String marked = phoneNumber.replace(last4, "****");
      System.out.println("๋งˆํ‚น์ฒ˜๋ฆฌ๋œ ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ = " + marked);
  4. ๋ฌธ์ž์—ด ์•ž๋’ค์˜ ๊ณต๋ฐฑ ์ œ๊ฑฐ
    • trim()
  5. ์ •๊ทœํ‘œํ˜„์‹์˜ ํ™œ์šฉ
    • split()
        String str = "hello java world";
        String[] strArr = str.split("[a ]");
        for(int i = 0; i < strArr.length; i++) {
            System.out.println(i + " " + strArr[i]);
        }
        ์ฝ˜์†”์ฐฝ :
        0 hello
        1 j
        2 v
        3 
        4 world
    • ์ •๊ทœํ‘œํ˜„์‹์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๋“ค์„ ๊ตฌ๋ถ„์ž๋กœ ํ•ด์„œ ์›๋ณธ ๋ฌธ์ž์—ด์„ ์ชผ๊ฐœ๊ณ  ๋ฐฐ์—ด๋กœ ๋ฆฌํ„ด
    • matches()
        String nameRule= "[a-zA-Z๊ฐ€-ํžฃ]{2,5}"; => ๋Œ€์†Œ๋ฌธ์ža~z ์‚ฌ์ด and ํ•œ๊ธ€์ด 2๊ธ€์ž~5๊ธ€์ž ์‚ฌ์ด ์กฐ๊ฑด
        System.out.println("HELL".matches(nameRule)); // true ๋ฐ˜ํ™˜
    • ์›๋ณธ ๋ฌธ์ž์—ด์ด ์ •๊ทœํ‘œํ˜„์‹์— ๋ถ€ํ•ฉํ•˜๋Š”์ง€๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค

Character

๋ฉ”์„œ๋“œ
  • isXXX()
    • ํŠน์ • ๋Œ€์ƒ์ธ์ง€ ์—ฌ๋ถ€ ํŒ๋ณ„
    • ex) char ch = "a";
      • Character.isUpperCase(ch);
        • ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ๋Œ€๋ฌธ์ž์ธ์ง€ ์—ฌ๋ถ€ ํŒ๋ณ„
      • Character.isLowerCase(ch);
        • ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ์†Œ๋ฌธ์ž์ธ์ง€ ์—ฌ๋ถ€ ํŒ๋ณ„
      • Character.isLetter(ch);
        • ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ๋ฌธ์ž์ธ์ง€ ์—ฌ๋ถ€ ํŒ๋ณ„
      • Character.isDigit(ch);
        • ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ์ง€ ์—ฌ๋ถ€ ํŒ๋ณ„
      • Character.isWhitespace(ch);
        • ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ๋ฌธ์ž์ธ์ง€ ์—ฌ๋ถ€ ํŒ๋ณ„
  • toXXX()
    • ํŠน์ • ๋Œ€์ƒ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜
      • Character.toUpperCase(ch);
        • ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜
      • Character.toLowerCase(ch);
        • ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜
    • char ํƒ€์ž…์„ String ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•
      • Character.toString(ch)
        • Character ํด๋ž˜์Šค์˜ toString() ํด๋ž˜์Šค ์‚ฌ์šฉ
          • ch + ""; ๋„ ์ŠคํŠธ๋ง์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ณ€ํ™˜
  • ๊ธฐ๋ณธํ˜•/wrapper ํด๋ž˜์Šค์˜ ํ˜•๋ณ€ํ™˜
    • ****String strNum = "1000";
    • ๋ฌธ์ž์—ด์—์„œ ๊ธฐ๋ณธํ˜•์œผ๋กœ ๋ณ€๊ฒฝ
      • int num = Integer.parseInt(strNum);
    • ๋ฌธ์ž์—ด์—์„œ ์ฐธ์กฐํ˜•(wrapper class)์œผ๋กœ ๋ณ€๊ฒฝ
      • Integer num = Integer.valueOf(strNum);

 

 

[์ถœ์ฒ˜] [Java] String ํด๋ž˜์Šค ํŠน์ง• ๋ฐ ๋ฉ”์„œ๋“œ ์ •๋ฆฌ

๋ฐ˜์‘ํ˜•