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()을 반드시 작성해준다.
반응형