Updated:

Scanner

 System.out을 통해서 출력을 했듯이, System.in을 통해서 사용자의 입력을 받을 수 있다. 그런데 자바가 제공하는 System.in을 통해서 사용자 입력을 받으려면 여러 과정을 거쳐야해서 복잡하고 어렵다. 자바는 이런 문제를 해결하기 위헤 Scanner라는 클래스를 제공한다. 이 클래스를 사용하면 사용자 입력을 매우 편리하게 받을 수 있다. 다음 코드를 보자.

package scanner;

import java.util.Scanner;

public class Scanner1 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);   // java.util의 Scanner을 사용, 변수: scanner, Scanner는 System.in을 사용해서 사용자의 입력을 편리하게 받도록 도와준다.
        // 변수 scanner의 이름을 변경하고 싶으면 "shift + F6" 사용

        System.out.print("문자열을 입력하세요: ");
        String str = scanner.nextLine();    // 입력을 String으로 가져온다. scanner.nextLine()은 엔터(\n)를 입력할 때 까지 문자를 가져온다.
        System.out.println("입력한 문자열: " + str);

        System.out.print("정수를 입력하세요: ");
        int intValue = scanner.nextInt();   // 입력을 int로 가져온다.
        System.out.println("입력한 정수: " + intValue);

        System.out.print("실수를 입력하세요: ");
        double doubleValue = scanner.nextDouble();  // 입력을 double로 가져온다.
        System.out.println("입력한 실수: " + doubleValue);
    }
}

 타입이 다르면 오류가 발생한다.

 print()는 출력하고 다음 라인으로 넘기지 않는다. println()은 출력하고 다음 라인으로 넘긴다. 즉, println()은 print()의 마지막에 \n을 추가한다.

댓글남기기