import java.util.Scanner;
import : 가져다쓴다는 의미
-> JVM안에 있는 Scanner라는 객체(클라스)를 가져다 쓴다고 선언
public static~
Scanner input = new Scanner(System.in);
Scanner : JVM밖에서 데이터를 입력받는 메서드
Scanner타입으로 input변수 선언
Scanner 라는 new객체(도구) 생성
System.in : System객체에 입력받아서 처리하는 in객체를 담아 인자값으로 전달
System.in(입력) <-> System.out(출력)
Scanner()입력받기 <-> println()출력하기
System.out.println("당신의 이름은 무엇입니까?");
String inputData = input.nextLine();
input.nextLine(); : Scanner 선언한 input 변수의 nextLine()메서드를 실행하면 사용자가 입력한 문자를 inputData에 할당
System.out.println("나의 이름은 "+inputData);
입력된 데이터 출력
String inputData = input.nextLine();
int inputData = input.nextInt();
boolean inputData = input.nextBoolean();
=> data type에 따라 input.next____ 달라짐
- buffer
int inputData = input.nextInt(); String Data = input.nextLine(); System.out.println("inputData : "+inputData) System.out.println("Data : "+Data)다음 코드에서 11입력 후 Enter를 치면 String 입력 전에 Data가 11과 공백으로 출력됨.
이는 nextInt가 입력값 중에 Enter나 공백 기준 앞에 있는 정수값을 가져오기 때문이다(next도 마찬가지)
nextInt가 앞의 정수값 11을 가져가고 뒤의 Enter가 남아 nextLine의 공백으로 가져가진다.
buffer를 비우기 위해서는 input(스캐너명).nextLine()을 사용한다.
int inputData = input.nextInt(); input.nextLine(); String Data = input.nextLine();