System.out을 통해 출력을 했듯이 System.in을 통해서 사용자의 입력을 받을 수 있다 그런데 자바가 제공하는 System.in을 통해서 사용자 입력을 받으려면 여러 과정을 거쳐야해서 복잡하고 어렵다
자바는 이런 문제를 해결하기 위해 Scanner라는 클래스를 제공한다 이 클래스를 사용하면 사용자 입력을 매우 편리하게 받을 수 있다
- Scanner scanner = new Scanner(System.in);
- 변수를 선언해서 Scanner를 사용할 수 있다
- scanner.nextLine()
- 엔터(\n)를 입력할 때 까지 문자를 가져온다
- scanner.nextInt()
- 입력을 int형으로 가져온다, 정수 입력에 사용한다
- int형만 가져오기 때문에 (\n)은 입력값으로 그대로 남는다, 따라서 숫자 입력 후의 줄바꿈 처리로 nextLine()을 써야한다
- scanner.nextDouble()
- 입력을 double형으로 가져온다, 실수 입력에 사용한다
int a = 10;
int b = 20;
int temp = 0;
a와 b의 값을 교환한다고 가정해보자
- a와 b를 한번에 서로 교환할 수는 없다
- a = b라고 하면 a의 값인 10은 사라져버린다 따라서 a와 b둘 다 20이 되어버린다
- a=b라고 하기전에 a의 값을 어딘가에 보관해두어야 한다
- temp라는 새로운 변수를 만들어 보관해둘 수 있다
이것을 활용하면 보다 효율적인 코드를 만들 수 있다
ex) a와b를 입력받고 a>b 또는 b<a 조건을 쓸 때