0Pricing
Java Academy · 강의

Scanner로 입력 읽기

System.in에서 사용자 입력을 읽습니다

Scanner로 입력 읽기은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

키보드에서 읽기

사용자가 입력하는 내용을 읽기 위해 Java는 java.util 패키지의 Scanner 클래스를 제공합니다. System.in이라는 표준 입력 스트림에 연결하여 사용합니다.

Scanner를 사용하면 단어, 줄, 숫자를 쉽게 읽을 수 있습니다.

Scanner 생성

System.in을 전달하여 Scanner를 생성하십시오. 여기의 예제는 입력 없이 실행되도록 고정 문자열을 사용하지만, 같은 메서드를 키보드 입력에도 적용할 수 있습니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("Hello");
        String word = scanner.next();
        System.out.println(word);
        scanner.close();
    }
}

단일 단어 읽기

next()는 하나의 토큰을 읽습니다. 즉, 다음 공백 문자 전까지의 텍스트를 읽습니다. 공백과 줄 바꿈이 토큰을 구분합니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("apple banana cherry");
        System.out.println(scanner.next());
        System.out.println(scanner.next());
        scanner.close();
    }
}

전체 줄 읽기

nextLine()은 공백을 포함하여 줄 끝까지 모든 내용을 읽습니다. 입력에 여러 단어가 포함되어 있고 이를 하나로 처리하려면 사용하십시오.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("John Smith");
        String fullName = scanner.nextLine();
        System.out.println("Name: " + fullName);
        scanner.close();
    }
}

추가 입력 확인

읽을 토큰이 더 있는 동안 hasNext()는 참을 반환합니다. 이를 사용하면 입력이 모두 소진될 때까지 반복할 수 있습니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("red green blue");
        while (scanner.hasNext()) {
            System.out.println(scanner.next());
        }
        scanner.close();
    }
}

한 줄씩 읽기

hasNextLine()과 nextLine()을 함께 사용하면 여러 줄의 입력을 한 번에 한 줄씩 처리할 수 있습니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("line one\nline two\nline three");
        while (scanner.hasNextLine()) {
            System.out.println("> " + scanner.nextLine());
        }
        scanner.close();
    }
}

실제 키보드 예제

실제 사용자 입력을 받으려면 아래 줄과 같이 작성합니다. 로컬 환경에서 실행해 보십시오. 프로그램은 입력하고 Enter 키를 누를 때까지 nextLine에서 대기합니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter your name: ");
        String name = scanner.nextLine();
        System.out.println("Hello, " + name);
        scanner.close();
    }
}

Scanner 닫기

close()를 호출하면 리소스가 해제됩니다. 더 깔끔한 방법은 리소스 자동 관리 구문을 사용하는 것입니다. 블록이 끝날 때 스캐너가 자동으로 닫힙니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        try (Scanner scanner = new Scanner("data here")) {
            System.out.println(scanner.next());
        }
    }
}

next와 nextLine 비교

핵심적인 차이를 기억하십시오. next()는 공백에서 멈추고 하나의 토큰을 반환하는 반면, nextLine()은 현재 줄의 나머지 내용을 가져옵니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("first second third");
        System.out.println(scanner.next());
        System.out.println(scanner.nextLine());
        scanner.close();
    }
}

사용자 지정 구분자

useDelimiter를 사용하면 토큰을 구분하는 방식을 바꿀 수 있습니다. 여기서는 공백 대신 쉼표가 값을 구분합니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("a,b,c");
        scanner.useDelimiter(",");
        while (scanner.hasNext()) {
            System.out.println(scanner.next());
        }
        scanner.close();
    }
}

Scanner 핵심 정리

System.in에 Scanner 하나를 만들고, 단어에는 next를, 전체 줄에는 nextLine을 사용하십시오. hasNext 계열 메서드로 반복하고, 사용이 끝나면 항상 닫으십시오.

빠른 확인

Scanner의 기본 내용을 확인해 보십시오.

복습

Scanner로 입력을 읽는 방법을 배웠습니다.

  • new Scanner(System.in)으로 생성합니다.
  • next()는 단어를 읽고, nextLine()은 전체 줄을 읽습니다.
  • hasNext() 또는 hasNextLine()으로 반복합니다.
  • close() 또는 리소스 자동 관리 구문으로 닫습니다.
  • useDelimiter는 토큰 구분자를 변경합니다.

자주 묻는 질문

“Scanner로 입력 읽기” 강의는 무료인가요?

네 — “Scanner로 입력 읽기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Scanner로 입력 읽기”에서 뭘 배우나요?

System.in에서 사용자 입력을 읽습니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Java Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“Scanner로 입력 읽기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Scanner로 입력 읽기
  2. 숫자와 줄 읽기
  3. 사용자 입력 검증
  4. BufferedReader 대안
← Java Academy(으)로 돌아가기