상세 컨텐츠

본문 제목

Scanner API

백엔드/Java

by Ryuzy 2025. 5. 14. 15:13

본문

728x90
반응형

1. Scanner

자바에서 Scanner는 사용자로부터 키보드 입력을 받을 수 있게 해주는 표준 입력 처리 도구입니다. java.util 패키지에 포함되어 있으며, 숫자, 문자열 등 다양한 형식의 데이터를 쉽게 입력받을 수 있도록 도와줍니다. 보통 콘솔에서 입력을 받을 때 사용되며, System.in을 통해 표준 입력 스트림을 읽습니다.

 

 

2. Scanner 사용

  1. 먼저 import java.util.Scanner;를 선언합니다.
  2. Scanner sc = new Scanner(System.in); 으로 객체를 생성합니다.
  3. sc.nextInt(), sc.nextLine(), sc.nextDouble() 등 다양한 메서드를 사용해 입력을 받습니다.
  4. 사용이 끝나면 sc.close();를 호출해서 자원을 정리합니다.

 

 

3. 메서드 정리

next() 단어 하나 (공백 전까지) 읽음
nextLine() 한 줄 전체 입력 (공백 포함)
nextInt() 정수 입력
nextDouble() 실수 입력
nextBoolean() true/false 입력

 

import java.util.Scanner;

public class ScannerEx {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);  // Scanner 객체 생성

        System.out.print("이름을 입력하세요: ");
        String name = sc.nextLine();          // 문자열 입력

        System.out.print("나이를 입력하세요: ");
        int age = sc.nextInt();               // 정수 입력

        System.out.println("안녕하세요, " + name + "님! 당신의 나이는 " + age + "세입니다.");

        sc.close();  // Scanner 닫기 (권장)
    }
}

 

주의사항

nextInt() 후에 nextLine()을 바로 쓰면 입력이 꼬일 수 있습니다. 이때는 sc.nextLine()을 한 번 더 호출해서 버퍼를 비워줘야 합니다.

int age = sc.nextInt();
sc.nextLine();  // 개행 문자 제거
String name = sc.nextLine();



 

4. System.in

System.in은 자바에서 표준 입력 장치를 의미하며, 일반적으로 키보드 입력을 받을 때 사용되는 입력 스트림(InputStream)입니다. 보통 Scanner, BufferedReader와 함께 사용되어 입력값을 읽는 데 활용되며, 바이트 단위로 데이터를 읽는 특성을 갖습니다. 텍스트 입력을 더 쉽게 다루기 위해 보통 래퍼 클래스들과 함께 사용됩니다.

import java.io.IOException;

public class SystemInEx {
    public static void main(String[] args) throws IOException {
        System.out.print("문자 하나를 입력하세요: ");
        int input = System.in.read();  // 한 글자(바이트)를 읽음

        System.out.println("입력한 문자: " + (char)input);
    }
}

 

728x90
반응형

'백엔드 > Java' 카테고리의 다른 글

제어문 - 조건문  (0) 2025.05.15
배열  (0) 2025.05.14
연산자  (0) 2025.05.14
변수  (0) 2025.05.13
자바  (0) 2025.05.13

관련글 더보기