일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- CSS 기초
- 오블완
- StringBuilder
- 해시
- 자바문자열구분
- 디스크블록할당
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- attribute
- 딥러닝
- 블록체인
- K-MOOC
- 시스템프로그래밍
- Entity
- 블록체인강의
- biginteger사용법
- 우선순위큐
- stringreader
- 블록체인 강의
- 자바입력받기
- 2차원배열정렬
- K-MOOC 단국대학교 홍보단
- 자바스크립트
- 머신러닝
- national instruments
- html기초
- 단국대학교 k-mooc
- 컴파일시스템
- StringTokenizer
- Node
- 티스토리챌린지
- Today
- Total
열정 실천
자바 입력받기 StringReader, StringTokenizer 본문
입력 받기 _ 1 Scanner
import java.util.Scanner; //01. import
public class Main{
public static void main(String args[]){
Scaanner sc = new Scanner(System.in); //02. Scanner 객체 생성
String str = sc.nextLine(); //03. 문자열 입력받기
int num = sc.nextInt(); //03. integer형 입력받기
sc.close(); //04. 닫기 (의도치않은 입력 방지)
}
}
입력 받기 _ 2 BufferedReader
import java.io.BufferedReader; //01-1. BufferedReader import
import java.io.InputStreamReader; //01-2. InputStreamReader import
import java.io.IOExection; //01-3. InputStreamReader import
public class Main{
public static void main(String args[]) throws IOException { //02. throws IOExection(예외처리)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //03. BufferedReader 객체 생성
String str = br.readLine(); //04. 문자열 입력받기
int num = Integer.ParseInt(br.readLine()); //04. Integer형 입력받기
}
}
BufferdReader는 Scanner를 사용할 때보다 조금 더 코드가 많다.
import도 3개나 해줘야하고 (보통 코드치면 알아서 import 되긴함)
예외처리에 객체 생성 코드도 길다! 하지만 BufferedReader 사용을 권장한다.
왜냐?!
BufferedReader를 사용하는 이유
버퍼(buffer)는 데이터를 한 곳에서 다른 곳으로 전송하는 동안 일시적으로 데이터를 보관하는 임시메모리 영역이다.
위에서 봤던 Scanner는 버퍼를 사용하지 않고 키보드의 입력이 이루어지는 순간 바로 전송된다. 하지만 Buffer를 사용하는 BufferedReader는 버퍼가 가득 차거나, 개행문자가 나타나면, 버퍼의 내용을 한 번에 전송하기 때문에 입출력 속도가 향상된다.
이 BufferedReader는 문자열로만 입력을 받는다. 때문에 다른 형으로 입력을 받고싶을 땐
int a = Integer.ParseInt(br.readLine()); << 이렇게 형변환을 해줘야한다!
문자열 구분 _ StringTokenizer
그 다음으로 가장 자주 쓰이는 StringTokenizer이다.
3 14 >> 이렇게 띄어쓰기로 두 문자를 구분할 때
010-1234-8646 >> 특정 구분자를 기준으로 구분할 때 사용한다.
import java.util.StringTokenizer;
public class Main {
public static void main(String args[]) throws IOException {
StringTokenizer st = new StringTokenizer(안녕-하세-요,"-"); // 매개변수1 : 문자열 / 매개변수2 : 구분자
String str1 = st.nextToken(); // str1 : 안녕
String str2 = st.nextToken(); // str2 : 하세
String str3 = st.nextToken(); // str3 : 요
}
}
StringTokenizer st = new StringTokenizer(안녕-하세-요,"-");
첫 번째 매개변수에는 문자열을 두 번째 매개변수에는 문자열을 토큰으로 구분할 구분자를 넣어주면 된다.
그리고 nextToken을 이용하면 구분한 토큰을 순서대로 받아올 수 있다.
만약 구분자가 띄어쓰기라면 2번 째 매개변수는 생략하고
StringTokenizer st = new StringTokenizer(문자열); << 이렇게 하면 된다.
'개발 공부 > JAVA' 카테고리의 다른 글
[JAVA] 객체의 형변환 - 업캐스팅(묵시적 형변환), 다운캐스팅(명시적 형변환) (0) | 2024.10.07 |
---|---|
[JAVA] StringReader, StringTokenizer, StringBuilder 자바로 알고리즘 문제 풀려면 이거는 기본! (0) | 2024.03.08 |
[JAVA] 자바에서의 형변환 (String to int, float, long) (string to char (char to int) (0) | 2022.07.21 |
[JAVA] Int, Double 범위를 벗어나면 BigInteger로 처리하자!!! (0) | 2022.07.06 |
[JAVA] ArrayList 사용법 (add,set,remove,clear,size,indexOf,contains,isEmpty) (0) | 2022.06.29 |