Scanner 클래스 정리

yannie·2024년 4월 26일

개념정리

목록 보기
1/1
Scanner sc = new Scanner(System.in);

//원하는 코드 작성

sc.close();

→ Scanner가 가지고 있는 여러 물건(메서드)들을 사용하기 위해 단순히 Scanner을 불러온 것.

  • Scanner 클래스를 이용하여 콘솔 입력을 받는 방법
  • 내가 적은 문장을 하나의 변수에 저장할 수 있고 그 변수를 가지고 프로그램 안에서 사용할 수 있는 것

= 콘솔창에 내가 원하는 값을 입력하고 그에 따른 값을 출력하는 Scanner 클래스

= 콘솔창에 내가 원하는 값을 입력할 수 있는 기능(키보드로 입력)을 가진 Scanner 클래스

Scanner 클래스 사용 방법

  • Scanner는 외부 패키지인 java.util에 포함되어 있기 때문에 사용하기 위해서는 import해줘야 사용이 가능하다.
  • Scanner은 객체를 생성해야 사용할 수 있다. ⇒ Scanner sc = new Scanner(System.in)
    • System.in은 화면에서 입력을 받겠다는 의미로 사용자가 입력한 값
      • 입력한 값을 byte 단위로 읽으며 키보드와 연결된 자바의 표준 입력 스트림.
    • Scanner는 System.in에서 입력된 값을 스캔한다는 의미
    • sc라는 객체를 생성하여, 스캔한 값을 sc 객체에 넣는다는 뜻.

Scanner의 작성 규칙

int a = sc.nextInt(); //입력받은 정수를 변수 a에 저장.

  • Scanner로 입력 받아서 변수에 저장하려면 동일한 타입의 변수를 선언해줘야 함.

Scanner 메서드 종류

next() : String 공백 이전까지의 문자열을 입력 받음.

nextInt() : Int 정수를 입력 받음.

nextDouble() : Double 실수를 입력 받음.

nextLine(): 문자열 전체를 입력 받음.

next(),charAt(0) : 문자 하나를 입력 받음.

next()과 nextLine()의 차이

next() → 컴퓨터가 입력한 문자열의 끝을 2가지로 판단? ⇒ 띄어쓰기와 엔터(줄바꿈)

nextLine() 띄어쓰기를 문자열에 포함하고 엔터(줄바꿈)만 문자열의 끝으로 인식

ex) I’m a student 입력시

next() → I’m만 출력

nextLine() → I’m a student 모두 출력

예를 들어

보통 Scanner은 안내문과 함께 작성하는 것이 일반적이다.

“숫자를 입력하세요: 2” 에서 숫자를 입력하세요 와 같은 안내문.

Scanner sc = new Scanner(System.in);
int a = 0;
int b = 0;

System.out.print("숫자를 입력하세요.: ");
a = sc.nextInt();

System.out.print("번호를 선택하세요.: ");
b = sc.nextInt();

sc.close();

실행 시

→ 콘솔창에 숫자를 입력하세요 : 출력

→ 내가 원하는 값 입력(정수로) 3

⇒ 숫자를 입력하세요. : 3

→ 번호를 선택하세요. 출력

→ 내가 원하는 값 입력(콘솔창에 정수로 입력) 5

⇒ 번호를 선택하세요. : 5

0개의 댓글