본문 바로가기
프로그래밍/java

[JAVA] 자바 키 입력

by mooyou 2021. 8. 31.
728x90
300x250

 

JAVA에서 SCANNER 클랙스로 키 입력받아 출력하기

 

import java.util.Scanner; //Scanner클래스 임포터

public class ScannerEx {
  public static void main(String args[]) { 
    System.out.println("이름, 나이, 체중, 독신 여부를 입력하세요");
    
    Scanner scanner = new Scanner(System.in); //객체생성
    
    String name = scanner.next(); // 문자열 읽기
    System.out.print("이름은 " + name + ", ");
    
    int age = scanner.nextInt(); // 정수 읽기
    System.out.print("나이는 " + age + "살, ");
    
    double weight = scanner.nextDouble(); // 실수 읽기
    System.out.print("체중은 " + weight + "kg, ");
    
    boolean single = scanner.nextBoolean(); // 논리값 읽기
    System.out.println("혼인 여부는 " + single + "입니다.");
    scanner.close(); // scanner 닫기
  }
}

 

//scanner.close()를 해줘야 닫힌다.

자바에서 키를 입력 받을때는 System.in과 SCANNER 클래스를 이용한다.

System.ini

키보드로부터 직접 읽는 자바의 표준 입력 스트림으로 키 값을 바이트로 리턴한다.

 

System.in을 사용하면 키보드 입력 값을 받아올 수 있지만 바이트오 받아 오기 때문에 출력하기 위해서는 문자정보로 변환을 해줘야 한다. 그 역활을 하는 것이 Scanner 클래스이다.

 

Scanner 클래스

System.in으로 입력받은 바이트를 문자, 정수, 실수, 불린등의 다양란 타입으로 변환해서 리턴시켜주는 클래스이다.

 

 

Scanner 클래스 사용방법

import java.util.Scanner; // import

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

 

스캐너를 이용한 키 입력 받기

Scanner은 입력되는 키 값을 공백문자로 구분 한다.

공백문자 : ‘\t’, ‘\f’, ‘\r’, ‘ ’, ‘\n’

 

사용자 키를 입력하면 Scanner는 키 입력을 공백으로 구분된 토큰 단위로 끊어 읽는다.

 

 

SCANNER 주요 메서드

String next() 다음 토큰을 문자열로 리턴
byte nextByte() 다음 토큰을 바이트 타입으로 리턴
short nextShort() 다음 토큰을 short 타입으로 리턴
int nextInt() 다음 토큰을 int타입으로 리턴
long nextLonf() 다음 토큰을 long타입으로 리턴
float nextFloat() 다음 토큰을 float타입으로 리턴
double nextDouble() 다음 토큰을 double 타입으로 리턴
boolean nextBoolean() 다음 토큰을 boolean 타입으로 리턴
String nextLine() '\n'을 포함하는 한 라인을 읽고 '\n'을 버린 나머지 문자열을 리턴 (한줄읽어온다)
void close() Scanner 사용종료
boolean hasNext() 현재 입력된 토큰이 있으면 true, 아니면 입력 때까지 무한정 대기, 새로운 입력이 들어올 때 true 리턴 ctrl-z 키가 입력되면 입력 끝이기 때문에 false 리턴
(지금 현재 넥스트 할 것이 있는가?)

char형이 없기 때문에 바로 읽지 못한다.

728x90
반응형

'프로그래밍 > java' 카테고리의 다른 글

자바 자료형, 변수, 상수  (0) 2021.09.02
[JAVA]소문자 입력 받아 대문자로 나타내기  (0) 2021.09.01
형 변환(type conversion)  (0) 2021.08.27
리터럴(literal) 이란?  (0) 2021.08.26
상수 뜻  (0) 2021.08.25

댓글