1. Scanner
- Feature
- java.util package에 포함되어 있기에 java.util을 import를 해야지 사용이 가능함
- 기본적인 Data Type을 모두 입력 받을 수 있음
- Token(Spacebar[공백], Enter(개행), Tab(탭))을 기준으로 Data를 입력받음
- 사용법
- import java.util.Scanner; : java.util의 Scanner Class를 import 하겠다는 의미
- import java.util.*; : java.util에 있는 Class 모두 import하겠다는 의미
- Scanner sc = new Scanner(System.in); : Scanner Object 생성
- Scanner Object를 생성후, Class name은 주로 sc를 사용하고, new는 새로운 Object를 heap memory에 할당한다는 의미이며, System.in은 화면에서 입력을 받겠다는 의미임! 여기서 System.in은 Byte 단위로 읽어주는 Java의 표준입력 Stream임
- Heap
- 동적으로 할당된 Memory영역임
- 모든 Object Type의 Data가 할당됨(모든 Object는 Object Type을 상속받음)
- Object를 가리키는 참조변수가 Stack에 할당됨
- Application에서의 모든 Memory중에서 Stack에 쌓이는 Data빼고는 전부 이 Heap에 쌓인다고 생각하면 됨
- String str = sc.next(); : 입력받은 String을 str에 save한다는 의미
- Scanner Object를 사용하여 입력 받고 Token기준으로 읽음
2. Scanner Class의 Method’s
- ✔ Token?(Spacebar, Tab, Enter)
- next() : String을 읽고, Token을 기준으로 읽음
- nextLine() : String을 읽고, Enter을 기준으로 읽음
- nextInt() : int를 읽음
- nextBoolean() : boolean을 읽음
- nextByte() : byte를 읽음
- nextShort() : short를 읽음
- nextLong() : long을 읽음
- nextFloat() : float을 읽음
- nextDouble() : double을 읽음