22gamin
[Java] Scanner 본문
- 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 |