자바에서 콘솔로부터 값을 읽을 수 있는 3가지 방법을 소개하겠습니다.
각 방법마다 장단점이 있지만 가장 많이 사용되는 방법은 Scanner 클래스를 이용하는 방법입니다.
1. Scanner Class
가장 많이 사용되는 방법으로 Primitive 값들을 읽을 수 있는 편리한 메서드들을 제공합니다.(nextInt(), nextFloat() 등)
public class ConsoleInput_Scanner {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(System.in); // Scanner 객체 선언
String s = in.nextLine(); // 콘솔 문자열 입력 받기
System.out.println("You entered string : "+s);
int a = in.nextInt(); // 콘솔 int 입력 받기
System.out.println("You entered integer : "+a);
float b = in.nextFloat(); // 콘솔 float 입력 받기
System.out.println("You entered float "+b);
}
}
// 입력 하이 1 1.5 |
// 출력 You entered string : 하이 You entered integer : 1 You entered float 1.5 |
2. BufferedReader Class
JDK1.1 부터 있었던 BufferedReader를 이용할 수도 있습니다. Scanner와 같이 표준 입력 스트림인 System.in을 사용하며, InputStreamReader를 이용하여 선언해야 해서 읽기에 좀 불편할 수도 있습니다.
public class ConsoleInput_BufferedReader {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input = reader.readLine();
System.out.println("input : " + input);
}
}
// 입력 하이 |
// 출력 input : 하이 |
3. Console Class
IDE 환경에서는 동작하지 않습니다. 터미널 환경에서 컴파일 후 class 파일을 실행하면 결과를 확인할 수 있습니다.
public class ConsoleInput_Console {
public static void main(String[] args) throws IOException {
String name = System.console().readLine();
System.out.println("input : " + name);
}
}
// 입력 하이 |
// 출력 input : 하이 |
'개발 > JAVA' 카테고리의 다른 글
String 메소드 살펴보기 (0) | 2020.12.12 |
---|---|
String 생성자(생성자 종류 및 예시) (0) | 2020.12.12 |
Java에는 Call-By-Value(Pass-By-Value)만 존재한다. (0) | 2020.12.11 |
Java string 비교(==와 equals 메서드 그리고 String.intern()) (0) | 2020.12.10 |
NullpointerException 과 해결법 (0) | 2020.12.09 |