본문 바로가기
Java & Spring

코딩테스트 대비 Java 기본문법 레퍼런스

by superuser 2023. 1. 25.

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();

 

댓글