Java

[Java] Scanner

simonpark817 2024. 3. 20. 22:45

[Scanner]

  • Java에서는 System.out를 통한 출력과 System.in을 통한 입력 기능이 존재한다.
  • 출력 문법의 대표적인 예시는 System.out.println()이 있다.
  • 아래 코드는 Scanner를 통해 키보드 입력이 가능하게 된다.
package org.example;

import java.util.Scanner;

//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
    public static void main(String[] args) {
        System.out.println("== 프로그램 시작 ==");

        Scanner sc = new Scanner(System.in);
        System.out.printf("명령어) ");
        String cmd = sc.nextLine();
        System.out.printf("입력된 명령어 : %s\n", cmd);

        System.out.println("소스코드 수정");

        sc.close();

        System.out.println("== 프로그램 끝 ==");
    }
}
  • 우선 Scanner 클래스를 사용하기 위해서는 import java.util.Scanner를 반드시 import 해줘야한다.
  • Scanner sc = new Scanner(System.in); 이라는 코드를 통해 키보드 입력이 가능하게 된다.
  • 여기서 sc는 단지 Scanner의 변수로서 사용자가 원하는 변수명을 지어 작성해도 무방하다.
  • cmd라는 String 타입의 변수에 문자열을 입력받아 리턴하기 위해서 nextLine() 이라는 메서드를 사용한다.
  • 메서드의 종류는 자료형 타입에 따라 nextLine(), nextInt(), nextDouble()이 있지만 nextLine()이 가장 많이 사용된다.
  • nextLine()과 같은 타입의 메소드로는 next()가 있는데 두 메서드의 차이는 다음과 같다.
  • nextLint()은 Enter를 치기 전까지 쓴 문자열을 모두 리턴한다.
  • next()는 스페이스 즉, 공백 전까지 입력받은 문자열을 리턴한다.
  • nextLint나 nextDouble 같이 특정 타입이 붙혀있다면 오직 해당 타입만 입력이 가능하다.
  • 입력의 역할이 끝났다면 끝난 지점에 close()을 반드시 작성해준다.
반응형