해당 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);
}
}
'공부 > 22.12 ~' 카테고리의 다른 글
Scannner.in.next(); 복습 내용 예제 풀기 (0) | 2022.12.25 |
---|---|
System.in.read(); 복습내용 (0) | 2022.12.24 |
3일차 - Java 연산자(산술,복합 대입,비교,논리,증감) (1) | 2022.12.22 |
2일차 - Java 사용자 정의 명칭 작성시 주의사항, 자동완성 기능, 출력코드, 리터럴,자료형 (2) | 2022.12.21 |
자바 기초 프로그래밍 자료형 프로그램 작성 (1) | 2022.12.12 |