Scanner 상세 설명

기본 사용법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// import 
import java.util.Scanner;

// scanner 객체 생성
Scanner scanner = new Scanner(System.in)

// 자료형에 따른 변수 타입과 메서드
byte b = scanner.nextByte();        // byte 형
short s = scanner.nextShort();      // short 형
int i = scanner.nextInt();          // int 형
long l = scanner.nextLong();        // long 형
float f = scanner.nextFloat();      // float 형
double d = scanner.nextDouble();    // double 형
boolean bl = scanner.nextBoolean(); // boolean 형
String st1 = scanner.next();        // String 형
String st2 = scanner.nextLine();    // String 형

scanner.next()와 scanner.nextLine()의 차이

scanner.next() : 공백을 기준으로 한 단어를 읽음
scanner.nextLine() : 개행을 기준으로 한 줄을 읽음

(1) scanner.next() : 공백을 기준으로 한 단어를 읽음

1
2
3
4
5
6
7
8
9
// scanner.next()
String st1 = scanner.next();
System.out.println(st1);

# 입력
// Hello world! It's a test text.

# 출력
// Hello

(2) scanner.nextLine() : 개행을 기준으로 한 줄을 읽음

1
2
3
4
5
6
7
8
9
10
// scanner.nextLine()
String st2 = scanner.nextLine();
System.out.println(st2);

# 입력
// Hello World! It's a test text.
// This is a second line.

# 출력
// Hello World! It's a test text.

응용

삼항연산자와 함께 응용하여 상황에 따라 변수에 저장되는 값을 바꿀 수 있다.

1
2
System.out.println("alg 알고리즘을 사용하시겠습니까? (Y/N)");
String userName = sc.next().charAt(0) == ('Y' | 'y') ? "--alg" : "";

Reference

Java의 정석 (남궁성)