입출력 기초
nextInt 이후 nextLine 사용 시 주의점
- nextLine() : 문자 / 문장 한 라인 전체를 입력받는다 (개행문자 포함해서 저장)
- next() : 공백을 기준으로 한 단어 / 한 문제를 입력받는다 (개행문자 비포함 저장)
- nextInt() : 개행문자 전까지의 숫자를 저장한다 (개행문자 비포함 저장)
따라서 nextInt() 뒤의 nextLine()은 개행문자 하나만을 저장하고, 원하는 값을 저장하지 못한다
이 경우 개행문자만 저장해줄 nextLine() 하나를 작성하거나 / nextLine()으로만 저장받고, 저장받은 값을 Integer.parseInt()로 변환하여 해결한다. 참고
Stream / Buffer
Stream : 계속해서 흘러 들어오는 데이터를 의미한다. (유투브의 스트리밍 처럼)
참고
- 데이터 소스로부터 데이터를 읽기만 할 뿐, 소스를 변경하지 않는다.
- String 배열 / List 등 다른 타입의 데이터 소스도 동일하게 처리할 수 있다.
Stream<String> str = 스트링이나_어레이변수.stream();
- 스트림은 일회용이다 (한번 사용하면 닫혀서 다시 사용할 수 없다)
- Byte 형태로 데이터를 운반하는데 사용되는 연결통로로, 단방향 통신의 FIFO 구조이다.
Buffer : Stream 데이터를 처리할 때, 스트림 데이터를 조금씩 읽고, 저장하고, 처리하고, 비우기를 반복하는 메모리 공간이다.
Sream을 사용하면 처리 속도가 더 빨라진다.