-
[프로그램 이론]스캐너(Scanner)(1)프로그래밍 이론 2024. 2. 17. 23:23
●스캐너
▶스캐너 이용하는 이유
- System.out을 통해서 출력을 했듯이, System.in을 통해서 사용자의 입력을 받을 수 있다. 그런데 자바가 제공하는 System.in을 통해서 사용자 입력을 받으려면 여러 과정을 거쳐 야해서 복잡하고 어렵다.
- 자바는 이런 문제를 해결하기 위해 Scanner라는 클래스를 제공한다. 이 클래스를 사용하면 사용자 입력을 매우 편리하게 받을 수 있다.
▶ Scanner 예제1
- 실행 결과
● Scanner sc = new Scanner(System.in);
⊙ 이 코드는 객체와 클래스를 배워야 정확히 이해할 수 있다. 지금은 Scanner의 기능을 사용하기 위해 new를 사용해서 Scanner를 만든다 정도로 이해하면 된다. Scanner는 System.in을 사용해서 사용자의 입력을 편리하게 받도록 도와준다.
⊙ Scanner sc 코드는 cs변수를 선언하는 것이다. 이제부터 sc변수를 통해서 Scanner를 사용할 수 있다.
● sc.nextLine()
⊙ 엔터(\n)를 입력할 때까지 문자를 가져온다
● sc.nextInt()
⊙ 입력을 int형으로 가져온다. 정수 입력에 사용한다
● sc.nextDouble()
⊙ 입력을 double형으로 가져온다. 실수 입력에 사용한다.
더보기주의! - 다른 타입 입력 시 오류
- 타입이 다르면 오류가 발생한다. 예제와 같이 숫자에 문자를 입력하면 오류가 발생한다.
InputMismatchException : Scanner 클래스를 사용하여 입력을 구문 분석할 때 예상한 형식과 입력이 일치하지
않을 때 발생하는 예외
● pirnt() vs println()
- 다음 코드를 보면 println()이 아니라 print()를 사용한다.
System.out.print("문자열을 입력하세요 : ")
그 이유는 다음과 같다
● print() 출력하고 다음 라인으로 넘기지 않는다.
- 실행 결과
● println() 출력하고 다음 라인으로 넘긴다
- 실행 결과
- 우리가 엔터 키를 치면 (\n)이라는 문자를 남기는 것이다.
- println()은 print()의 마지막에 \n을 추가한다. 따라서 다음 코드는 println()과 같다.
- 실행 결과
'프로그래밍 이론' 카테고리의 다른 글
[프로그램 이론]스캐너(Scanner)(3) (0) 2024.02.18 [프로그램 이론]스캐너(Scanner)(2) (0) 2024.02.17 [프로그래밍 이론] 형변환(Casting) (0) 2024.02.17 [프로그래밍 이론]스코프(scope) (0) 2024.02.17 [프로그래밍 이론]반복문(Repetitive)(7) (0) 2024.02.15