JAVA에서는 사용자로부터 데이터를 입력 받아 변수로 활용할 수 있는 방법이 여러 가지가 있다.
- Scanner
- BufferedReader
위 두 가지가 JAVA에서 입력받을 때 사용되는 대표 클래스이다.
1. Scanner
import java.util.Scanner; // Scanner 클래스 호출
Scanner sc = new Scanner(System.in); // Scanner 클래스의 객체 생성
String str = sc.nextLine(); // 입력한 내용이 str에 저장
int i = sc.nextInt();
System.out.println(str); // 입력한 문자열이 출력됩니다.
System.out.println(i); // 입력한 정수가 출력됩니다.
- 기본적인 사용방식과 메서드는 위 코드와 그림 참조.
- next()와 nextLine()의 차이점은 개행문자(Enter, \n)를 받는지의 여부 차이
- 다시말해, next()는 String(스페이스 or 엔터로 구분) // nextLine()은 String 문자열 1줄을 받아온다.
- nextLine()은 버퍼에 Enter(\n)이 들어있는 상태라면, \n만 출력하게 된다.
- 따라서 버퍼를 처리해주는 nextLine()코드를 한줄 더입력하여 버퍼를 비우고, 새로운 nextLine()으로 입력값을 받을 수 있다.
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("입력1: ");
int i1 = sc.nextInt();
System.out.println("입력2: ");
String str1 = sc.nextLine();
System.out.println("출력1: ");
System.out.println(i1);
System.out.println("출력2: ");
System.out.println(str1);
}
}
/* 출력:
입력1:
1
입력2:
출력1:
1
출력2:
*/
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("입력1: ");
int i1 = sc.nextInt();
System.out.println("입력2: ");
sc.nextLine(); // 개행문자(\n) 처리
String str1 = sc.nextLine();
System.out.println("출력1: ");
System.out.println(i1);
System.out.println("출력2: ");
System.out.println(str1);
}
}
/* 출력:
입력1:
1
입력2:
2
출력1:
1
출력2:
2
*/
2. BufferedReader
- 별도 포스팅 예정
'JAVA' 카테고리의 다른 글
[JAVA] 예외처리 (0) | 2023.07.14 |
---|---|
[JAVA] 제네릭 (0) | 2023.07.14 |
[JAVA] Enum(열거형) (0) | 2023.07.14 |
[JAVA] 연산자 (0) | 2023.07.13 |
[JAVA] 객체지향프로그래밍이란? (0) | 2023.07.13 |