본문 바로가기
코딩테스트/자바 Java

자바 Java | 문자열 다루기: String 클래스와 커맨드 라인 인자 사용 방법

by YUNI Heo 2023. 2. 16.
반응형

 

✅ String 클래스

Java에서 문자열을 다루기 위해 제공되는 클래스이다.

  • 문자열을 다루기 위한 다양한 기능과 메서드를 제공한다.

String 클래스의 인스턴스는 불변(immutable) 객체이다.

  • String 클래스는 내부적으로 char 배열을 사용하여 문자열을 저장한다. 
  • 하지만 한 번 생성된 문자열은 내부적으로 변경될 수 없다.
  • 문자열의 안정성을 보장하고, 문자열을 공유하는 다른 객체들과의 상호작용에서도 예기치 않은 동작을 방지한다.
  • 문자열 조작이 많은 경우에는 StringBuilder나 StringBuffer 클래스를 사용한다.

 

💡 String 클래스의 메서드

  • length(): 문자열의 길이를 반환한다.
String str = "Hello, world!";
int len = str.length(); // len = 13

  • charAt(int index): 주어진 인덱스 위치에 있는 문자를 반환한다.
String str = "Hello, world!";
char c = str.charAt(4); // c = 'o'

  • substring(int beginIndex, int endIndex): 주어진 시작 인덱스부터 끝 인덱스 바로 전까지의 부분 문자열을 반환한다.
String str = "Hello, world!";
String subStr = str.substring(0, 5); // subStr = "Hello"

  • concat(String str): 주어진 문자열을 현재 문자열과 연결하여 새로운 문자열을 반환한다.
String str1 = "Hello";
String str2 = "world!";
String newStr = str1.concat(", ").concat(str2); // newStr = "Hello, world!"

  • equals(Object anObject): 주어진 객체가 문자열과 동일한지 비교한다.
String str1 = "Hello";
String str2 = "hello";
boolean isEqual = str1.equals(str2); // isEqual = false

  • indexOf(int ch): 주어진 문자가 처음 등장하는 위치의 인덱스를 반환합니다. 해당 문자가 없으면 -1을 반환한다.
String str = "Hello, world!";
int index = str.indexOf('o'); // index = 4

  • replace(CharSequence target, CharSequence replacement): 주어진 문자열(target)을 다른 문자열(replacement)로 변경한 새로운 문자열을 반환한다.
String str = "Hello, world!";
String newStr = str.replace("world", "Java"); // newStr = "Hello, Java!"

  • toUpperCase(): 모든 문자를 대문자로 변환하여 반환한다.
String str = "Hello, world!";
String upperStr = str.toUpperCase(); // upperStr = "HELLO, WORLD!"

  • toLowerCase(): 모든 문자를 소문자로 변환하여 반환한다.
String str = "Hello, world!";
String lowerStr = str.toLowerCase(); // lowerStr = "hello, world!"

 

커맨드 라인(Command Line)

프로그램을 실행할 때 명령행 인자(arguments)를 전달하기 위한 인터페이스이다.

프로그램을 실행하는 동안 프로그램에 필요한 정보를 전달한다.


커맨드 라인을 사용하면 프로그램을 실행할 때 필요한 정보를 전달할 수 있다.

  • 입력 파일이나 출력 파일의 이름, 실행 모드 등을 커맨드 라인 인자로 전달하여 프로그램의 동작을 변경할 수 있다.

 

💡 문자열(String) 전달

커맨드 라인에서는 문자열(String)을 전달할 수 있다.


전달된 문자열은 main() 메서드의 파라미터로 받을 수 있다.

  • main() 메서드는 프로그램 실행 시 가장 먼저 실행되는 메서드이다.
public static void main(String[] args) {
    // 프로그램 실행 시 수행할 작업
}

args는 main() 메서드에 전달된 커맨드 라인 인자를 담고 있는 배열이다.

  • 다음 명령어를 실행하여 "Hello, world!" 문자열을 args 배열에 저장한다.
java MyProgram "Hello, world!"

전달된 문자열을 프로그램에서 사용한다. 

  • args 배열은 문자열 배열이므로, 배열 요소를 인덱스를 이용하여 접근한다. 
public static void main(String[] args) {
    System.out.println(args[0]); // "Hello, world!"
}

 

💡 이클립스 Eclipse에서 명령행 인자(arguments)를 입력하는 방법

  1. 먼저 실행할 자바 프로그램을 선택하고, [Run] > [Run Configurations] 메뉴를 클릭한다.
  2. 좌측 상단에 있는 [Java Application]을 선택하고, 실행할 자바 프로그램을 선택한다.
  3. [Arguments] 탭을 클릭한다.
  4. [Program arguments] 옵션에 전달할 매개변수를 공백으로 구분하여 입력한다.
  5. 입력이 끝나면 [Run] 버튼을 클릭하여 프로그램을 실행한다.

반응형