[Java] 문자와 문자열
by Roel Downey'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
}
}
'Java' 카테고리의 다른 글
[Java] 클래스(Class) 인스턴스(instance) 메소드(method) (0) | 2020.03.10 |
---|---|
[Java] 다차원 배열 , 2차원 배열 사용해보기 (0) | 2020.03.09 |
[Java] 배열 (Array) (3) | 2020.02.27 |
[Java] 제어문 (조건문, 반복문) (0) | 2020.02.25 |
[java] 콘솔(console) 입력/출력 (0) | 2020.02.25 |
블로그의 정보
What doing?
Roel Downey