Scanner next()와 nextLine() 차이
Scanner scanner = new Scanner(System.in);
//input : Hello world\nThis is a test
scanner.next(); // "Hello"
scanner.nextLine(); // "Hello world"
Scanner로 char 입력 받기
char ch = scanner.next().charAt(0);
String 대소문자 변환
String str = "Hello World!";
String str1 = str.toLowerCase();
String str2 = str.toUpperCase();
char 대소문자 변환
char ch = "a"
char ch1 = Character.toUpperCase(ch);
char ch1 = Character.toLowerCase(ch);
String 문자열 각각의 문자 접근
String str = "Hello, World!";
//방안1 : toCharArray()
char[] charArr = str.toCharArray();
for (char ch : charArr) {
System.out.println(ch);
}
//방안2 : charAt()
String str2 = "Hello, World!";
for (int i = 0; i < str2.length(); i++) {
System.out.println(str2.charAt(i));
}
char 대소문자 확인
Character.isLowerCase('t');
Character.isUpperCase('t');
StringBuilder vs StringBuffer
- StringBuilder : 문자열 연산이 많고 단일쓰레드이거나 동기화를 고려하지 않아도 되는 경우
- StringBuffer : 문자열 연산이 많고 멀티쓰레드 환경일 경우
- append() : 문자열, 문자, 숫자 등 각 type을 추가
charAt()
String 문자열을 char type으로 한 글자만 받는 메소드
String str = "Hello World";
char ch = str.charAt(0);
System.out.println(ch); //H
ASCII Code
| A | 65 |
| Z | 90 |
| a | 97 |
| z | 122 |
char 대소문자 변환
char ch = 'a';
System.out.println((char)(ch - 32)); //소문자를 대문자로 변환
ch = 'A';
System.out.println((char)(ch + 32)); //대문자를 소문자로 변환
split()
String[] splitStr = str.split(" "); //공백으로 분리
String[] splitStr = str.split(("\\s"); //공백으로 분리(스페이스 한칸 정규식)
indexOf()
특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환하며, 찾지 못했을 경우 -1을 반환한다.
indexOf(String str)
indexOf(int ch)
indexOf(int ch, int fromIndex)
indexOf(String str, int fromIndex)
substring()
문자열의 특정 부분을 잘라내는 데 사용한다.
substring(int beginIndex)
substring(int beginIndex, int endIndex)
Scanner 입력 시, int형 데이터를 받고, 다음 데이터로 문자열을 받을 때 공백이 들어올 경우
nextInt() 다음에 nextLine()을 사용할 때 nextLine() 메서드가 정수 입력 후 라인의 나머지 부분을 읽어서, 빈 줄이 소비될 수 있다.
따라서 nextInt() 다음에 추가 nextLine()을 호출하여 남은 줄 바꿈 문자를 사용할 수 있다.
Scanner in=new Scanner(System.in);
int n = in.nextInt();
in.nextLine();
String str = in.nextLine();
'Java & Spring' 카테고리의 다른 글
| PKIX path building failed 에러 해결 (0) | 2023.03.29 |
|---|---|
| gradle build시 다른 gradle project 참조하는 방법 (0) | 2023.03.09 |
| JSONObject로 json 생성 시 순서가 안 맞을 때 (0) | 2023.03.09 |
| IntelliJ 단축키 (0) | 2023.03.09 |
| Logback 설정 정리 (0) | 2023.01.11 |
댓글