프로그래밍 언어/Java

[java]자바의 기초(2), 기호상수와 String메소드

ssung.k 2019. 3. 20. 14:27
자바의 기초(2),상수와 String

기호 상수와 String

기호상수

상수란 프로그램이 실행되는 동안 값이 변하지 않는 수를 의미한다. 따라서 변할 일이 없는 고정불변의 값에 사용하는데 대표적인 예로 원주율 파이가 있다. 기호상수를 나타내기 위해서는 final을 사용한다.

final double PI = 3.141592;

 

문자열 , String

String은 굉장히 특별하다. 전 시간에 배웠던 자료형 중에서 참조형에 포함되지만 그 쓰임새는 기본형과 유사하여 헷갈릴 수 있다.

원칙적으로는 다음과 같이 new 를 사용하여 객체를 생성하여야 한다. new에 대해서는 나중에 객체에 대해서 다룰 때 더 자세히 다루겠다.

String a = new String("hello world!");

하지만 실제로 사용할 때는 기본형과 같이 값을 대입하는 것 처럼 사용을 한다.

String a = "hello world!";

String도 클래스이니 만큼 여러가지가 메소드가 존재하는데 자주 쓰이는 메소드들에 대해서 알아보자.

  • charAt(int index)

    • 지정된 인덱스에 있는 문자를 반환

    • return 값은 char

      String s = "hello";
      char c = s.charAt(1); // e
      
  • compareTo(String anotherString)

    • 사전적 순서로 문자열을 비교, 작으면 음수 같으면 0 크면 양수를 반환

    • return 값은 int

      String s = "hello";
      int com;
      com = s.compareTo("hi"); // -4
      

      다음 값이 -4 가 나온 이유를 살펴보자. 먼저 각각에 대해 index 0에 위치한 h를 비교해보고 같으므로 다음으로 넘어간다. e와 i는 값이 다르므로 값을 반환해야 하는데 반환하는 값은 e의 유니코드 값에서 i의 유니코드 값을 뺀 값이다.

  • concat(String str)

    • 주어진 문자열을 현재의 문자열 뒤에 붙인다.

    • return 값은 String

      String s = "hello";
      s = s.concat(" world!"); // hello world!
      
  • equals(Object anObject)

    • 주어진 객체와 현재의 문자열을 비교
    • return 값은 boolean
  • equalsIgnoreCase(String antherString)

    • 주어진 객체와 현재의 문자열을 비교 (대소문자를 무시)

    • return 값은 boolean

      String s = "hello";
      boolean compare1 = s.equals("Hello");          // false
      boolean compare2 = s.equalsIgnoreCase("Hello");// true
      
  • isEmpty()

    • 현재 문자열이 비어있는지 확인

    • return 값은 boolean

      String s = "hello";
      boolean empty = s.isEmpty(); // false
      
  • length()

    • 현재 문자열의 길이를 측정

    • return 값은 int

      String s = "hello";
      int length = s.length(); // 5
      

       

  • replace(char oldChar, char newChar)

    • oldChar 를 newChar로 바꿔 새로운 String을 만듬

    • return 값은 String

      String s1 = "hello";
      String s2;
      s2 = s1.replace('l','i'); // heiio
      

       

  • substring(int beginIndex, int endIndex)

    • 현재 문자에서 beginIndex부터 endIndex-1까지를 반환

    • retrun값은 String

      String s1 = "hello";
      String s2;
      s2 = s1.substring(2,4);  // ll
      
  • toLowerCase()

    • 모든 문자를 소문자로 변경
    • return 값은 String
  • toUpperCase()

    • 모든 문자를 소문자로 변경

    • return 값은 String

      String s1 = "hello";
      String s2,s3;
      s2 = s1.toUpperCase(); // HELLO
      s3 = s2.toLowerCase(); // hello