- 스캐너(Scanner) 클래스
화면이나 파일, 문자열 등의 입력으로부터 문자를 읽어주는 클래스.
java.util 패키지 내에 존재하며 정수(int) 와 실수(double) 등의 기본적인 데이터타입 입력을 받기 위한 클래스다.
- 스캐너(Scanner) 클래스의 사용 방법
1. import문 추가하기
package c1_welcome;
import java.util.Scanner;
//import java.util.*;
위 설명과 같이 스캐너 클래스는 java.util 패키지 안에 속해있는 클래스이므로 import를 해줘야하며 주석 처리한 셋째 줄서의 *는 java.util패키지 안에 있는 모든 클래스들을 import하겠다는 의미이다.
첫 번째 줄처럼 코드를 작성하면 나중에 java.util패키지에 속해있는 클래스를 사용할 때 import를 또 해야 하는 번거로움도 있기때문이다. 두 개 중 어떤코드를 사용해도 상관없다.
2. 스캐너클래스 객채 생성하기
Scanner sc = new Scanner(System.in);
스캐너클래스는 객채생성을 무조건 해야지만 사용이 가능하다.
스캐너클래스는 화면에서 입력을 받을 수 있을뿐더러 파일에서도 입력을 받을 수 있는데 화면으로부터 어떤 데이터타입을 입력 받을 것이기 때문에 System.in 을 사용한다.
3. Scanner의 객채사용하기
String name = sc.next();
int age = sc.nextInt();
입력받는 데이터 타입에 따라서 next의 모양이 달라진다.
정수일경우 nextInt(); 문자열일 경우 next();
4. 닫아주기
sc.close();
입출력 관련된 객체들을 사용 후에 닫아주지 않으면 코드에서 경고메세지가 발생하게된다.
그럴땐 sc.close();를 입력해주면 해결이 된다.
- 스캐너(Scanner) 클래스 사용 예제
package c1_welcome;
import java.util.Scanner; // impot를 사용합니다.
public class Selfhelp {
String name;
int age;
Selfhelp(String name, int age) {
this.name = name;
this.age = age;
}
void introduce() {
System.out.printf("저를 소개합니다.\n제 이름은 %s \n나이는 %d입니다.\n-------------\n", name, age);
// printf 사용법:모르는 값을 % 해놓고 뒤에 ,로 변수를 작성해야한다.
// %s:문자열 , %d: 정수, %.2f:(소숫점자리수 두자리가 나오면 좋겠다 .2 한자리나오면 좋겠다 .1) %c: 문자
}
public static void main(String arg[]) {
Scanner sc = new Scanner(System.in); // 스캐너클래스의 객체를 생성합니다.
System.out.println("이름과 나이를 입력해주세요>>");
String name = sc.next(); // 스캐너객채를 사용합니다.
int age = sc.nextInt()();
sc.close(); // 사용하고 닫아줍니다.
SelfHelp s = new SelfHelp(name, age);
s.introduce();
}
}
- 실행결과
※ 국비학원을 다니면서 배운내용을 혼자 복습하고 정리한 글입니다. 고수분들이 보시기에 부족한 부분이나 더 첨가되면 좋을 내용들을 댓글로 적어주시면 보고 많이 배우겠습니다 감사합니다ㅎㅎ