[Java]Scanner ํด๋์ค(Console์์ ๊ฐ ์ ๋ ฅ ๋ฐ๊ธฐ)
๐ถSystem.in : ํค๋ณด๋๋ก๋ถํฐ ์
๋ ฅ๋ ๊ฐ์ ์ป์ด์ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํ๊ธฐ ์ํ ๊ฐ์ฒด - ์
๋ ฅ์คํธ๋ฆผ
๐ถSystem.out : ํ๋ก๊ทธ๋จ์ ๊ฐ์ ํ๋ฉด(์ฝ์)์ ์ ๋ฌํ๊ธฐ ์ํ ๊ฐ์ฒด - ์ถ๋ ฅ์คํธ๋ฆผ
โซScanner ํด๋์ค : ์ ๋ ฅ์คํธ๋ฆผ(ํค๋ณด๋, ํ์ผ ๋ฑ)์ ์ ๊ณต๋ฐ์ ์ํ๋ ์๋ฃํ์ ๊ฐ์ ์ ๋ ฅ๋ฐ๊ธฐ ์ํ ๊ธฐ๋ฅ์ ์ ๊ณต๋ฐ๊ธฐ ์ํ ๊ธฐ๋ฅ(๋ฉ์๋)๊ฐ ์ ์ธ๋ ํด๋์ค
Scanner ํด๋์ค๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ ํ ์ฐธ์กฐ๋ณ์์ ์ ์ฅ
=> new Scanner(System.in) : ํค๋ณด๋๋ก๋ถํฐ ์ ๊ณต๋ ๊ฐ์ ์ป์ด์ฌ ์ ์๋ ๊ฐ์ฒด ์์ฑ
=> ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ๋ณ์์ ์ ์ฅํ์ฌ ์ฐธ์กฐ๋ณ์๋ก ๊ฐ์ฒด์ ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ํ์ํ ๊ธฐ๋ฅ ๊ตฌํ
Scanner ๋ฉ์๋ ํ
ํ์ | ๋ฉ์๋ | |
๋ ผ๋ฆฌํ | boolean | nextBoolean() |
์ ์ํ | byte | nextByte() |
short | nextShort() | |
Int | nextInt() | |
long | nextLong() | |
์ค์ํ | double | nextDouble() |
float | nextFloat() | |
๋ฌธ์ | String | next() nextLine() => ์ํฐํค๋ก ๊ตฌ๋ถ |
+ close() : Scanner ๊ฐ์ฒด๊ฐ ์ฌ์ฉํ ์ ๋ ฅ์คํธ๋ฆผ์ ์ ๊ฑฐํ๋ ๋ฉ์๋
์์
package basic;
//import : ๋ค๋ฅธ ํจํค์ง์ ํด๋์ค๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ์ํด ์ฌ์ฉํ๋ ํค์๋
import java.util.Scanner;
//์ฌ์ฉ์๋ก๋ถํฐ ํค๋ณด๋๋ก ์ด๋ฆ๊ณผ ๋์ด๋ฅผ ์
๋ ฅ๋ฐ์ ํ๋ฉด์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์์ฑ
public class ScannerApp {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("์ด๋ฆ ์
๋ ฅ >> ");
//Scanner.nextline() : ์
๋ ฅ๊ฐ์ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ฐํํ๋ ๋ฉ์๋
//ํค๋ณด๋๋ก ์
๋ ฅ๋ ๊ฐ์ ๋ฌธ์์ด๋ก ๋ฐํ๋ฐ์ ๋ณ์์ ์ ์ฅ
// => ํค๋ณด๋ ์
๋ ฅ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ ํ๋ฆ(์ค๋ ๋)์ด ์ผ์ ์ค์ง
// => ํค๋ณด๋๋ก ๊ฐ์ ์
๋ ฅํ ํ ์ํฐ(Enter)๋ฅผ ๋๋ฌ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ด ์ฌ์คํ๋๋๋ก ์ฒ๋ฆฌ
String name=scanner.nextLine();
System.out.print("๋์ด ์
๋ ฅ >> ");
//Scanner.nextInt() : ์
๋ ฅ๊ฐ์ ์ ์๊ฐ์ผ๋ก ๋ณํํ์ฌ ๋ฐํํ๋ ๋ฉ์๋
// => ํค๋ณด๋๋ก ์
๋ ฅ๋ ๊ฐ์ด ์ ์๊ฐ์ด ์๋ ๊ฒฝ์ฐ ์์ธ(Exception) ๋ฐ์ - ํ๋ก๊ทธ๋จ ๊ฐ์ ์ข
๋ฃ
int age=scanner.nextInt();
System.out.println("[๊ฒฐ๊ณผ]์ด๋ฆ = "+name+"๋์ ๋์ด๋ "+age+"์ด ์
๋๋ค.");
//Scanner.close() : Scanner ๊ฐ์ฒด๊ฐ ์ฌ์ฉํ ์
๋ ฅ์คํธ๋ฆผ์ ์ ๊ฑฐํ๋ ๋ฉ์๋
scanner.close();
}
}