Scaner 클래스는 next();, nextInt(); nextLine(); 등 next와 관련된 메서드를 가지고 있는 클래스이다.
Scanner 클래스를 사용하기 위해서는 다음과 같다.
클래스명 변수명 = new 클래스명(매개변수);
Scanner sc = new Scanner(System.in);
위와 같이 new 클래스명으로 초기화 해야지 해당 변수명에 연결된 클래스를 활용할 수 있다.
(자세한 내용은 클래스에서 다룸)
Scanner라는 클래스가 어떤 메소드를 가지고 있는지 다 알 수 없지만 cntl+click하면 Scanner 클래스가 가지고 있는 메서드를 구경 할 수있다.
주니어 개발자가 되기위해 정독해야 부분은 아니지만 지금은 많이 사용하고 있는 next();에 대해 알아 보자.
클래스를 사용하기 위해서는 변수명을 설정하고 new로 초기화 해야 된다는 것 까지 알았다. 우리가 직접 만들지 않아도 JAVA에는 사용자의 편의를 위해 시스템에 저장되어있는 클래스들이 있는데 필요한 것들을 뽑아서 쓰기만 하면된다.
개발자는 메서드나 혹은 외부의 값들을 받아와서 확인해야 하는 경우가 더러 있는데 이때 받아와서 언제든지 쓸 수 있게 해주는 메서드가 next이다. 이 메서드는 Scanner 클래스에 탑재되어 있음으로 사용하고 싶으면 클래스 먼저 초기화 해야한다.
JAVA에는 수많은 클래스를 기본적으로 탑재하고 있고 그 클래스 안에는 각각 메서드를 포함하고 있다. 메서드란 자바스크립트에서 함수와 같은 존재로 생각하면 된다.
그리고 그 기능을 포함하고 있는 것이 클래스이다.
next 메서드도 수많은 메서드 중 하나이며 입력 값을 받을 때 개발자가 편의하게 입력받은 값을 확인하거나 저장할 수 있게 돕는 메서드이다.
단, next외에도 편리한 기능이 많으니 어떻게 활용 되는가만 알 고 넘어 가겠다.
저장 공간에 값을 담고 싶으면 가장 먼저 해야 할 것이 변수의 선언이다.
변수의 선언은 day-3때 다루었음으로 넘어가겠음
대체로 순서는 이러하다
초기화 할 클래스를 만들고 클래스간 상속관계를 맺어주는 것 외에 아래의 순서는 거의 동일하다.
변수의 선언 → 클래스 초기화 → 저장공간에 값을 다시 담기 → 사용하기
코드를 작성하기 전에는 항상 무엇을 만들지 먼저 생각하는 것이 좋다.
콘솔창에서 두 숫자를 입력 받고 그 숫자끼리 합한 값을 만들어볼까?
Scanner sc = new Scanner(System.in); //클래스 선언
int num1 = 0, num2 = 0; //변수의 선언
System.out.print("첫번째 정수 :"); //무엇을 입력받을 지 설명
num1 = sc.nextInt(); //입력 받음
System.out.print("두 번째 정수:");
num2 = sc.nextInt();
System.out.println(num1+num2); //두 수를 합치고 그 값을 출력함
Scanner 클래스를 사용하기 위해 보통 자동 완성을 하게 된다.
이때 그 클래스를 사용 할 수 있도록 import 값도 자동 완성 되는데 그 값은 다음과 같다.
package day04;
패키지 패키지명
import java.util.Scanner;
가져오기 자바의 유틸에서 스캐너를 가져옴
public class inputTask {
자바 기본 코드 입력 창
public static void main(String[] args) {
자바 메인 코드 입력 창
int num1 =0, num2 = 0; >>초기화
Scanner sc = new Scanner(System.in);
스캐너클래스 변수명 클래스로 new로 사용함 (System.in) > 입력하는 메소드
System.out.println("2개의 정수 값을 입력하세요. \n ex) 1 2");
num1 = Integer.parseInt(sc.next()); >>nextInt 대신 parseInt로 사용
num2 = Integer.parseInt(sc.next());
System.out.println("결과 : " + (num1 + num2));
문자열로 인하여 괄호를 사용하여 연결이 아닌 연산자 역할을 수행
}
}
보통 JAVA에 내장되어 있는 클래스를 사용 할 때 자동완성하면 import 값을 자동 완성 시키며 이는 클래스를 사용 할 수 있게끔 도와줌으로 없으면 오류가 난다.
eclipse에서는 오류가 나면 해당 문구에 커서를 올리면 해당 오류 내용을 설명해주고 가능 시 자동 오류수정해주는 사용자 편의성까지 갖추었다.