import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Main {
public static void referInputStream() throws IOException {
// System.in
System.out.println("== System.in ==");
System.out.print("입력: ");
//char값 하나를 받아와서 숫자값을 받아오면 그게 문자라서 아스키코드 값에 매핑되어 있는데
// 그 아스키코드 값 만큼 빼서 숫자로 변환해주는 작업
// 한 문자를 읽어와서 숫자로 변환하는데, 입력된 문자는 해당 숫자에 대응되는 아스키코드 값으로 표현됩니다.
// '0'을 빼면 입력된 숫자를 얻을 수 있습니다.
int a = System.in.read() - '0';
System.out.println("a = " + a);
//입력스트림에 남아있는 개수만큼 바이트 형태로 읽어서 데이터를 소진시켜줌
//남아 있는 데이터를 없애주기 위한 작업
System.in.read(new byte[System.in.available()]);
// InputStreamReader
System.out.println("== InputStreamReader ==");
InputStreamReader reader = new InputStreamReader(System.in);
char[] c = new char[3];
System.out.print("입력: ");
//데이터를 읽어서 배열에 저장시켜줌
reader.read(c);
System.out.println(c);
// BufferedReader
System.out.println("== BufferedReader ==");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("입력: ");
String s1 = br.readLine();
System.out.println("s1 = " + s1);
}
public static void main(String[] args) throws IOException {
// 1. 입력
// 1-1. 다른 입력 방식 참고
referInputStream();
// 1-2. Scanner
System.out.println("== Scanner ==");
System.out.print("입력1: ");
Scanner sc = new Scanner(System.in);
System.out.println(sc.next());
//엔터키 소진을 위한 작업
sc.nextLine();
System.out.print("입력2: ");
System.out.println(sc.nextInt());
sc.nextLine();
System.out.print("입력3: ");
System.out.println(sc.nextLine());
// 참고) 정수, 문자열 변환
int num = Integer.parseInt("12345");
String str = Integer.toString(12345);
// 2. 출력
System.out.println("== 출력 ==");
System.out.println("Hello");
System.out.println("World!");
System.out.print("Hello ");
System.out.print("World!");
System.out.printf("Hello ");
System.out.printf("World!");
System.out.println();
String s = "자바";
int number = 3;
System.out.println(s + "는 언어 선호도 " + number + "위 입니다.");
System.out.printf("%s는 언어 선호도 %d위 입니다.\n", s, number);
System.out.printf("%d\n", 10);
System.out.printf("%o\n", 10);
System.out.printf("%x\n", 10);
System.out.printf("%f\n", 5.2f);
System.out.printf("%c\n", 'A');
System.out.printf("%s\n", "안녕하세요");
System.out.printf("%5d\n", 123);
System.out.printf("%5d\n", 1234);
System.out.printf("%5d\n", 12345);
System.out.printf("%.2f\n", 1.126123f);
}
}
== System.in ==
입력: A
a = 17
== InputStreamReader ==
입력: abc
abc
== BufferedReader ==
입력: seungmin
s1 = seungmin
== Scanner ==
입력1: seok
seok
입력2: 1997
1997
입력3: seok seung min
seok seung min
== 출력 ==
Hello
World!
Hello World!Hello World!
자바는 언어 선호도 3위 입니다.
자바는 언어 선호도 3위 입니다.
10
12
a
5.200000
A
안녕하세요
123
1234
12345
1.13
헤드 라인
1월 1일 날씨 맑음
1월 2일 날씨 완전 맑음
1월 3일 날씨 또 맑음!
헤드 라인
1월 1일 날씨 맑음
1월 2일 날씨 완전 맑음
1월 3일 날씨 또 맑음!
제임스 아서 고슬링(James Arthur Gosling, 1955년 5월 19일 ~ )은 캐나다의 소프트웨어 개발자이다.
자바를 최초 개발하여 '자바의 아버지'라 불리며, 가장 영향력 있는 프로그래머들 가운데 한 사람이다.
자바 이외에도 다중 프로세서용 유닉스와 컴파일러, 메일 시스템, 데이터 인식 시스템 등을 개발하였다.
개발자 가운데서는 마이크로소프트의 빌 게이츠(William H. Gates)만큼이나 유명하지만,
개발자 특유의 '몰두', '은둔' 성향 때문에 세상에 널리 알려지지는 않았다.
그는 또 자바 커피를 하루에도 10여 잔 씩 마시는 자바 예찬론자이기도 해서,
자바(Java)라는 명칭은 유명한 커피 재배지인 인도네시아 섬 이름인 자바섬에서 따왔다고 한다.
제임스 아서 고슬링(James Arthur Gosling, 1955년 5월 19일 ~ )은 캐나다의 소프트웨어 개발자이다.
Java를 최초 개발하여 'Java의 아버지'라 불리며, 가장 영향력 있는 프로그래머들 가운데 한 사람이다.
Java 이외에도 다중 프로세서용 유닉스와 컴파일러, 메일 시스템, 데이터 인식 시스템 등을 개발하였다.
개발자 가운데서는 마이크로소프트의 빌 게이츠(William H. Gates)만큼이나 유명하지만,
개발자 특유의 '몰두', '은둔' 성향 때문에 세상에 널리 알려지지는 않았다.
그는 또 Java 커피를 하루에도 10여 잔 씩 마시는 Java 예찬론자이기도 해서,
Java(Java)라는 명칭은 유명한 커피 재배지인 인도네시아 섬 이름인 Java섬에서 따왔다고 한다.
Leave a comment