☕JAVA/🔎 공부 [JAVA]

[JAVA] Scanner 스캐너 클래스와 입력

디카페인라떼 2022. 8. 6. 12:56

참고한 블로그 

  • Scanner 클래스란? 
  1. 데이터 타입들을 Scanner의 메소드를 사용하여 입력받을 수 있다
  2. 사용 시 import 해와야 한다
  3. 공백 또는 줄바꿈을 기준으로 읽는다.
  • 사용법
import java.util.Scanner;  //scanner 클래스 호출
클래스_이름 객체_이름 = new 클래스_이름();

★대체로 객체이름은 in,input,sc,scan 4가지가 많이 쓰인다고한다)

 

Scanner in = new Scanner(System.in); // Scanner 객체 생성

❗생성 시 System.in 이 들어간다

 

❓System.in 

  : 사용자로부터 입력을 받기 위한 입력 스트림. 그러므로 다른 입력 방식들도 사용자로부터 입력을 받기위해서는 System.in이 들어가야한다. (세부내용은 링크 참조)

 

  • 메소드를 이용하여 입력하기
import java.util.Scanner;	// Scanner 클래스 호출
 
public class Main {
	public static void main(String[] args) {
 
		Scanner in = new Scanner(System.in);	// Scanner 객체 생성
 
		byte a = in.nextByte(); 		// byte 형 입력 및 리턴
		short b = in.nextShort(); 		// short 형 입력 및 리턴
		int c = in.nextInt(); 			// int 형 입력 및 리턴
		long d = in.nextLong(); 		// long 형 입력 및 리턴
 
		float e = in.nextFloat(); 		// float 형 입력 및 리턴
		double f = in.nextDouble(); 	// double 형 입력 및 리턴
 
		boolean g = in.nextBoolean(); 	// boolean 형 입력 및 리턴
 
		String h = in.next(); 			// String 형 입력 및 리턴 (공백을 기준으로 한 단어를 읽음)
		String i = in.nextLine(); 		// String 형 입력 및 리턴 (개행을 기준으로 한 줄을 읽음)
	}
 
}

보통 많이 쓰이는 것들은

nextInt()

nextDouble()

next()

nextLine()

 

❗char형 (문자)타입으로 받는 메소드는 따로 없다. string으로 받은 뒤 charAt()로 반환해야 한다.

 

✔next() VS nextLine()

  • next()의 경우 공백 또는 줄바꿈까지만 읽는다.

  • nextLine()은 그대로 한 줄을 읽는다. 공백 상관없이 줄바꿈까지 읽는다.