Roel Notebook

[Java] 문자와 문자열

by Roel Downey
728x90
반응형

'a' , "a" 차이가 뭘까? 

 

문자

한 개의 문자 값에 대한 자료형은 char를 사용한다. 

char oneChar = 'a';

 

문자 한개를 입력할때는 '(단일 인용부호 single quotation)' 를 사용한다. 

 

문자열

문자열에 대한 자료형은 String을 사용한다.

String oneString = "a";

 

문자열을 입력할때는 "(따옴표 double quotation)" 를 사용한다.

 

 

문자와 문자열의 다른점

문자는 뒤에 \0(널문자)가 없지만, 문자열 끝에는 \0(널문자)가 저장이 된다.

 

 

 

그럼 응용을 해보자!!

Java 라는것은 언어 부분이 있고, 플랫폼 부분이 있다. 

위의 이야기를 왜 하냐면?? 

 

문자열을 받아서 숫자로 변경을 하고 싶다. 그럼 어떻게 해야할까? 고민을 해보자!!

-> 자바에서는 문자를 숫자로 바꿔주는게 있다. 어떻게 할까? 

public class StringChangeNumber { 
	public static void main(String[] args) throws IOException { 
		String stringValue = "23";
		int number = Integer.parseInt(stringValue);
		System.out.println(number);
	}
}

 

숫자를 받아서 문자열로 변경하고 싶다. 그럼 어떻게 해야할까?

public class NumberChangeString { 
	public static void main(String[] args) throws IOException { 
		int number = 23;
		String stringValue = String.valueOf(number);
		
		System.out.println(stringValue);
	}
}

 

그럼 파일로 문자열을 받아서 계산하는걸 만들 수 있다. 

 

자바 파일 입출력을 모른다면 아래의 글을 참고한다.

2020/02/20 - [Java] - [Java] 자바 파일 입출력

 

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Scanner;

public class FileDataNumberAdd {
	public static void main(String[] args) throws IOException {
		FileInputStream inputStream = new FileInputStream("res/ex07data.txt");
		Scanner scan = new Scanner(inputStream);
		int resultSum = 0;
		while (scan.hasNext()) {
			resultSum += Integer.parseInt(scan.next());
		}
		System.out.println(resultSum);
		scan.close();
		inputStream.close();
	}
}

 

자바는 문자열 함수가 다양하게 있다. (몇가지만 알아보자.)

1.  startWith : 문자열이 지정한 문자로 시작하는지 (대소문자 구별한다.) : 같으면 true , 다르면 false

2.  endsWith : 문자열이 지정한 문자로 끝나는지 (대소문자 구별한다.) : 같으면 true , 다르면 false  

3.  equals : 두개의 문자열을 비교해서 반환  : 같으면 true , 다르면 false 

4.  indexOf : 찾고 싶은 문자가 문자열에 몇번째에 있는지 반환 : 반환값 int

5.  length : 문자열의 길이를 반환  : 반환값 int

6.  replace : 문자열에서 바꾸고 싶은 문자를 찾아서 바꿔서 출력  

7.  split : 자르고 싶은 문자로 문자열을 잘라서 배열로 반환

8.  toLowerCase: 대문자를 소문자로 변환

9.  toUpperCase : 소문자를 대문자로 변환

10.  trim : 문자열의 공백 제거( 문자열 처음과 끝만 공백제거)

11.  compareTo: 문자열의 비교 (사전순으로 비교)  : 반환값 int

12.  contains : 원본 문자열에서 찾고 싶은 문자열을 포함하면 true , 없으면 false 

13.  charAt : 문자열에서 입력받은 몇번째의 문자를 반환  : 반환값 'char'

14.  concat : 문자열과 문자열 연결

 

 

 

 

tip : 코드 복사해서 가져가고 싶다면 아래 사진 처럼 빨간색 박스로 표시된 부분을 클릭한다.

 

StringBuffer 

StringBuffer은 문자열을 추가하거나 변경 할 때 주로 사용하는 자료형이다.

(문자열 변경작업이 많을때 추천한다.)

append() insert() toString()

append : 문자열을 추가한다.

insert : 내가 원하는 위치에 문자열을 삽입할 수 있다.

toString : String 자료형으로 변경할 수 있다.

public class StringTest {
	public static void main(String[] args) {
		StringBuffer stringBuffer = new StringBuffer();
		stringBuffer.append("Roel!");
		stringBuffer.insert(0,"Hello ");
		System.out.println(stringBuffer.toString());
       	        // Hello Roel!
	}

}

 

substring()

substring : 문자열에서 가져 올 위치부터 끝 위치까지의 문자를가져온다.

 

public class Hello {
	public static void main(String[] args) {
		StringBuffer stringBuffer = new StringBuffer();
		stringBuffer.append("Roel!");
		stringBuffer.insert(0,"Hello ");
		System.out.println(stringBuffer.substring(0,5));
		//Hello
	}

}
728x90
반응형

블로그의 정보

What doing?

Roel Downey

활동하기