• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] Java - User Input (사용자 입력) - Scanner (스캐너) ★★★

2,937  
목차
  1. Scanner 클래스 정의 - 사용자 입력값 받기
  2. 입력 메서드 종류
  3. 입력 메서드 예제

 

Scanner 클래스 정의 - 사용자 입력값 받기

[정의]

 

사용자 입력값 받는 클래스로서, java.util 패키지 안에 있음.

 

PS.

[이클립스] Scanner 클래스 추가 단축키 : Ctrl + Shift + O


[입력받는 방법]

 

1.

Scanner 클래스로 객체 생성.

 

2.

Scanner 클래스에 포함된 각 자료형 입력 메서드 이용해 입력 받음.

※ 아래서 자세히 소개.

 

3.

입력 받은 후 반드시 close() 메서드로 입력 모드 닫아야 함.

 

 

[예제] Hz.java

 

import java.util.Scanner; // Scanner 클래스 가져오기.


class Hz {

  public static void main(String[] args) {

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

    String mb_name;

    

    System.out.println("이름 입력 후 Enter키"); 

    mb_name = scan.nextLine();  // 문자열 읽기.

       

    System.out.println("이름: " + mb_name); 

    scan.close();

  }

}

 

PS. 

scan.close() 메서드로 닫지 않으면 아래 에러 발생.

Resource leak: 'mb' is never closed

 

입력 메서드 종류

 

사용자 입력값 자료형 (Data Type)에 따라 다름.

 

PS. 주의.

각 자료형 메서드와 불일치한 값이 입력된 경우,

InputMismatchException 같은 Exception (= 에러 메세지) 뜸.

 


[정수]

 

nextByte()

사용자가 입력한 byte 값 읽기.

(-128 ~ 127 정수 : 1 byte 크기)

 

nextShort()

사용자가 입력한 short 값 읽기.

(-32,768 ~ 32,767 정수 : 2 bytes 크기)


nextInt()

사용자가 입력한 int 값 읽기.

(-2,147,483,648 ~ 2,147,483,647 : 4 bytes)

 

nextLong()

사용자가 입력한 long 값 읽기.

(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 : 8 bytes)

 


[부동소수]

 

nextFloat()

사용자가 입력한 float 값 읽기.

(10진수 6 ~ 7 자리 : 4 bytes)

 

nextDouble()

사용자가 입력한 double 값 읽기.

(10진수 15 자리 저장 : 8 bytes)

 


[참거짓]

 

nextBoolean()

사용자가 입력한 boolean 값 읽기.

(true, false : 1 bit 크기)

 


[문자열]

 

nextLine()

사용자가 입력한 String 값 읽기. (위 예제 경우) 


 

입력 메서드 예제

 

import java.util.Scanner;


class Hz {

  public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);


    System.out.println("이름, 레벨, 포인트 순서로 각가 입력 후 Enter키.");


    // 문자열 input.

    String name = scan.nextLine();


    // 숫자 input.

    int level = scan.nextInt();

    double point = scan.nextDouble();


    // 사용자 입력값 출력.

    System.out.println("이름: " + name); 

    System.out.println("레벨: " + level); 

    System.out.println("포인트: " + point); 

    scan.close();

  }

}

 



분류 제목
Keyword Java - instanceof 키워드 - 객체가 클래스(또는, 인터페이스)의 인스턴스인지 체크. (= 인스…
Keyword Java - int 키워드 - int 정수 자료형 변수 선언.
Keyword Java - interface 키워드 - 인터페이스 선언
Keyword Java - long 키워드 - long 자료형 정수 담는 변수 선언.
Keyword Java - module 키워드 △ - 모듈 선언.
Keyword Java - native 키워드 △ - 메서드가 동일 Java 소스 파일(다른 언어)에서 구현되지 않도록 지…
Keyword Java - new 키워드 - 새로운 객체 생성 (= new키워드 = 뉴키워드)
Keyword Java - package 키워드 - 패키지 선언.
Keyword Java - private 키워드 - 선언된 클래스 안에서만 접근 가능 설정.
Keyword Java - protected 키워드 - 같은 패키지 및 서브 클래스에서만 접근 가능 설정.
Keyword Java - public 키워드 - 다른 클래스의 접근을 허용. (= 퍼블릭)
Keyword Java - requires 키워드 △ - 모듈 내부에 필요한 라이브러리 지정. (Java 9 이상)
Keyword Java - return 키워드 - 메서드 실행 후, 값을 반환.
Keyword Java - short 키워드 - short 정수 자료형 선언.
Keyword Java - static 키워드 - 객체 생성 없이 바로 접근 가능한 (메서드/속성) 선언.
Keyword Java - strictfp 키워드 △ - 부동 소수점 계산 정밀도 및 반올림 제한.
Keyword Java - super 키워드 - 슈퍼클래스 (= 부모클래스) 객체 의미.
Keyword Java - switch 키워드 - switch 조건문 선언.
Keyword Java - synchronized 키워드 △ - 한 번에 하나의 스레드에서만 메소드에 접근 가능 지정하는 …
Keyword Java - this 키워드 - (메서드・생성자)에서 현재 객체 지칭. (= 디스)
5/10
목록
찾아주셔서 감사합니다. Since 2012