본문 바로가기
JAVA

[JAVA] input 및 Buffer

by kwh_coding 2023. 4. 16.
public class Test01 {

	public static void main(String[] args) throws IOException {
		
		//System.in - 표준 입력 스트림(객체) - X
		// .read() - buffer안에서 1byte씩 데이터를 읽어오는 메소드
		
//		System.out.print("정수 입력 : ");
//		
//		int su = 0;
//		
//		while(true) {
//			
//			int a = System.in.read();
//			
//			if(a == 13) {
//				break;
//			}
//			
//			su *= 10;
//			su += (a - 48);
//			
//			//System.out.println(a);
//			
//		}
//			
//		System.out.println("su = " + su);
		
		//Buffer(버퍼)
		// - 데이터의 처리 속도, 단위, 시간등이 서로 다른 두 장치나 
		//   프로그램 사이에서 데이터를 주고 받기 위한 용도로 사용되는 임시 기억장치(메모리)
		
		//키보드 입력시 버퍼
		// - 키보드에서 입력된 키값들을 버퍼 안에 저장한다
		// - 공백문자를 기준으로 데이터의 끝을 구분한다
		
		//System.in을 사용할 시에는 불편하기 때문에 편리하게 사용하기 위해서 만들어진 도구(Scanner)
		
		//java.util.Scanner - 데이터를 읽어오기위한 클래스
		// - 파일, String, URL, InputStream

		Scanner sc = new Scanner(System.in);
	
		// .next()			- 다음 공백문자까지의 데이터를 읽어오는 메소드 - 한 단어 - String
		// .nextLine()		- 엔터(\r\n)를 기준으로 데이터를 읽어오는 메소드 - 한 줄 - String
		// .next자료형()	- 내가 원하는 데이터 형태로 데이터를 읽어오는 메소드
		
		// ※ 메소드명은 첫글자는 소문자로 달라지는 단어의 첫글자는 대문자
		
		System.out.print("나이 입력 : ");
		int age = sc.nextInt();
		
		//어떠한 데이터를 입력한 후에 nextLine을 사용한다면 버퍼의 엔터값을 제거해줘야 입력이 가능
		
		sc.nextLine();
		
		System.out.print("이름 입력 : ");
		
		//String name = sc.next();
		String name = sc.nextLine();
		
		System.out.println("이름 : " + name);
		System.out.println("나이 : " + age);
		
		
//		name = sc.next();
//		
//		System.out.println("이름 : " + name);
	}
	
}

'JAVA' 카테고리의 다른 글

[JAVA] Output(제어문자)  (0) 2023.04.16
[JAVA] Output  (0) 2023.04.16
[JAVA] 문자열(String)의 구조  (0) 2023.04.16
[JAVA] 문자 자료형과 문자의 체계  (0) 2023.04.16
[JAVA]논리형 boolean 연산자 및 관계연산자  (0) 2023.04.16