해당 Class는 해당 import 를 작성해줘야 사용할 수 있다.

 

 

System.in.read()
  - 입력한 값을 byte 단위로 처리해준다.

 

import java.io.IOException; //import를 해야 해당 클래스를 쓸 수 있다.

/*
 * 	버퍼: 한 번에 많은 데이터 처리
 *  System.in.read()
 *  - 입력한 값을 byte 단위로 처리해준다.
 *  
 */
public class Ex01System {
	public static void main(String[] args) throws IOException {
		
		System.out.println("키보드로 값을 입력하세요 >> ");
		int iv = System.in.read();
		System.out.println("iv: " + iv);
	
		char ca = (char)iv;
		System.out.println("ca: " + ca);
		
//		// Java에서 'enter'는 2byte로 처리된다 : \r\n(2byte)
//		int r = System.in.read();
//		int n = System.in.read();	그래서 in.read도 두 번 사용
//		System.out.println("r: " + r);
//		System.out.println("n: " + n);
		
		System.in.skip(2);//	read사용보다 간단.지정된 ()안에 byte 수만큼 건너뜀.
		
		System.out.print("문자 입력 >> ");
		char ch = (char)System.in.read();
		System.out.println("ch: " + ch);
		System.out.println("(int)ch: " + (int)ch);
		
		System.in.skip(2);
		
		System.out.println("숫자 입력 > ");//숫자가 문자로 인식함. 
		int no = System.in.read() - 48;//1을 입력했을 때 -로 해줌.
		System.out.println("no: " + no);//0~9까지만 변환가능. (1byte)
		
	}
}

 

 

 

 

Scanner class
 - 입력받은 데이터를 원하는 자료형으로 선택해서 처리할 수 있다.

 

import java.util.Scanner; // 자동 import : Ctrl + Shift + O

/*
 * Scanner class
 * - 입력받은 데이터를 원하는 자료형으로 선택해서 처리할 수 있다.
 */


public class Ex02Scanner {
	public static void main(String[] args) {
	
		// Scanner 객체 생성
		Scanner scanner = new Scanner(System.in);
		// scanner(참조변수)에 new로 인하여 Scanner(실체)객체 생성  
		
		// 문자열 : next()
		System.out.print("단어 입력 > ");
		String word = scanner.next(); //String(문자열) 변수에 저장시켜야함.
		System.out.println("word: " + word); //공백 전까지 처리한다.숫자를 입력해도 문자로 받아드림
		System.out.println(); 
		
		
		// 숫자 : nextInt() 숫자로 받아드림
		System.out.print("숫자 입력 > ");
		int iv = scanner.nextInt();
		System.out.println("iv: " + iv);
		
		System.out.println();
		
		
		// 실수 : nextDouble()
		System.out.print("실수 입력 > ");
		double dv = scanner.nextDouble();
		System.out.println("dv:" + dv);
		
		System.out.println();
		
		// 문자 : next().charAt(index)
		//		가져온 단어에 'charAt(index)'를 적용해서, index 번째 문자 사용
		//		index 는 0부터 시작
		System.out.print("문자 입력 > ");
//		String stn = scanner.next(); 필요한 문자만 뽑아낼시 굳이 String으로 선언해줄 필요가 없다.
//		char ch = stn.chatAt(0);
		char ch = scanner.next().charAt(0);
		System.out.println("ch: " + ch);
		
		System.out.println();
		
		// 문장 : nextLine()
		System.out.print("문장 입력 > ");
		scanner.nextLine(); //문자 입력할 때 Enter가 문자열로 인식해 밑에 next.Line을 한 번 더 써준다.
		String line = scanner.nextLine();
		System.out.println("line: " + line);
		
	}

}