Notice
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

22gamin

[Java] Scanner 본문

java

[Java] Scanner

22gamin 2024. 9. 10. 10:07

 

  • System.out을 통해서 출력을 했듯이, System.in을 통해서 사용자의 입력을 받을 수 있다. 
  • 하지만 자바에서 제공하는 System.in을 이용하면 여러 과정을 거쳐야해서 복잡하고 어렵다.
  • 이런 문제를 해결하기 위해 Scanner라는 클래스를 제공한다.

 

Scanner scanner = new Scanner(System.in);

String str = scanner.nextLine();   // 입력을 String으로 가져옴
int intValue = scanner.nextInt();  // 입력을 int로 가져옴
double doubleValue = scanner.nextDouble();  // 입력을 double로 가져옴
  • scanner.nextLine()
    • 엔터(\n)을 입력할 때까지 문자를 가져온다.
  • scanner.nextInt()
    • 입력을 int형으로 가져옴. 정수 입력에 사용한다.

 

 

※ 당연히 다른 타입 입력시 오류 발생!

문자열을 입력하세요:hello
입력한 문자열: hello
정수를 입력하세요:백만원
Exception in thread "main" java.util.InputMismatchException
 at java.base/java.util.Scanner.throwFor(Scanner.java:939)
 at java.base/java.util.Scanner.next(Scanner.java:1594)
 at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
 at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
 at scanner.Scanner1.main(Scanner1.java:15)

 

 

 

print() vs println()

  • print()는 출력하고 다음 라인으로 넘가지 않음
  • println()은 출력하고 다음 라인으로 넘김
    • println()은 print()의 마지막에 \n을 추가한다.
    • System.out.print("hello\n"); 과 출력값 같음

'java' 카테고리의 다른 글

[Java] 메서드  (0) 2024.09.12
[Java] 배열  (1) 2024.09.10
[Java] 스코프, 형변환  (0) 2024.09.09
[Java] 조건문과 반복문  (0) 2024.09.09
[Java] 연산자  (0) 2024.09.05