Scanner sc = new Scanner(System.in);
: Scanner클래스의 객체 생성
boolean
boolean b;
b = sc.nextBoolean();
integer
int number;
number = sc.nextInt();
double
double d;
d = sc.nextDouble();
String
String str;
str = sc.next();
System.out.println(str); // Hello World를 입력했을 경우, Hello만 출력됨
// file, network
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
str = br.readLine();
System.out.println("str: " + str); // Hello World를 입력했을 경우, Hello World 모두 출력됨
✍ 예제
import java.until.*; // Scanner를 사용하기 위해 추가
class ScannerEx {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("두자리 정수를 하나 입력해주세요.>");
String.input = scanner.nextLine();
int num = Integer.parseInt(input); // 입력받은 문자열을 숫자로 변환
System.out.println("입력내용: + input);
System.out.printf("num=%d%n", num);
}
}
실행결과
두자리 정수를 하나 입력해주세요.>22
입력내용: 22
num=22
개행문자만 경계로 인식하고 입력받은 데이터가 String으로 고정된다
Scanner보다 속도가 빠르다
예외 처리가 반드시 필요 -> throws IOException
BufferdReader br = new BufferdReader(new InputStreamReader(System.in));
String s = br.readLine();
// int로 사용하고 싶을 때, 형변환 필요
int i = Integer.parseInt(s);
데이터 가공
: 공백 단위로 데이터를 가공하고자 할 때 수행해야하는 작업
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
String strArr = s.split(" ");
출력을 할 때 사용. System.out.println()
과 비슷하며 많은 양의 출력을 할 때 사용한다
BufferedWriter bw = new BufferdWriter(new OutputStreamWriter(System.out));
String str = "abcd";
bw.write(str); // 출력
bw.newLine(); // 줄바꿈
bw.flush(); // 남아있는 데이터 모두 출력
bw.close();
: 변수나 리터럴 타입을 다른 타입으로 변환하는 것
// (타입)피연산자
double d = 85.4;
int score = (int)d;
자동 형변환
short sh; // 2byte
sh = 128;
int i; // 4byte
i = sh;
강제 형변환
i = 1234;
sh = (short)i;
int number1, number2;
number1 = 3;
number2 = 2;
float f;
f = (float)number1 / number2 // 3.0 / 2