4. 입력과 출력

4.1 System.out

System.out.print() // 화면에 정보를 출력하라는 의미입니다.
System.out.println()// 화면에 정보를 출력하고 줄 바꿈을 하라는 의미입니다.
System.out.printf() // 형식화한 문자열을 화면에 출력하라는 의미합
import java.util.Date;
public class FormatExample{
	public static void main(String[] args){
		int a = 12345;
		System.out.printf("정수: [%d][%10d][%-10d][%010d]\\n",a,a,a,a);
		double b = 123.456;
		System.out.printf("실수: [%f][%10.2f][%-10.4f][%010.4f]\\n",b,b,b,b);
		String	c	=	"hello";
		System.out.printf("문자:	[%s][%10s][%-10s][%10S][%5.2s]\\n",c,c,c,c,c);
		System.out.printf("논리:	[%b][%B]\\n",	true,	false);
		Date	d	=	new	Date();
		System.out.printf("시간:	[%tH:%tM:%tS]\\n",	d,	d,	d);
		System.out.printf("날짜:	[%1$ty-%1$tm-%1$td]",	d);  //1$ --> 첫번쨰 것을 매핑한다는 의미
		
		}
	}
	

image.png

4.2 System.in.read() - 바이트 단위 입력

int keyCode = System.in.read();
System.out.println(keyCode);      // 예: 'A' 입력 시 65 출력
System.out.printf("%c", keyCode); // A 출력

비유: 종이 한 장만 집을 수 있는 집게. 두꺼운 책(=한글)은 못 집는다.


4.2.1 InputStreamReader - 문자 단위 입력

Reader reader = new InputStreamReader(System.in);
int keyCode = reader.read();
System.out.println(keyCode);
System.out.println((char)keyCode);

비유: 손가락 대신 집게를 바꾸면 책도 집을 수 있게 되는 것처럼, InputStreamReader는 더 큰 문자를 처리할 수 있게 도와준다.


4.3 문자열 입력 (바이트 배열 이용)