콘솔로 출력하기
printf()
1
System.out.printf("%s, %d", "안녕!", 1);
형식을 지정하지 않으면 print()와 같다.
System.out.printf("Hello!\n");
형식
%s
: 지정한 자리에 문자열을 삽입한다.%d
: 정수값을 10진수 문자열로 만들어 삽입한다.%x
: 정수값을 16진수 문자열로 만들어 삽입한다.%c
: 정수값을 문자로 만들어 삽입한다.%b
: true/false 값을 문자열로 만들어 삽입한다.
한 개의 값을 여러 곳에 삽입할 수 있다.
%[n$]s
: n은 문자열에 삽입될 값의 순서이다. 순서는 1부터 증가한다.
1 2
System.out.printf("%2$d, %2$d, %3$d", 65, 66, 67); // 66, 66, 67
값을 삽입할 때 사용할 공간을 지정할 수 있다.
- 문자열 삽입
%[-][사용할공간너비]s
: -은 왼쪽 정렬이고 안 붙이면 기본 오른쪽 정렬이다.
- 정수 삽입
%[0][사용할공간너비]d
: 앞의 빈 자리는 0으로 채운다.%[+][0][사용할공간너비]d
: +는 숫자 앞에 부호를 붙인다.
- 문자열 삽입
형식을 갖춰 날짜 값 출력하기
java.lang 패키지의 멤버를 사용할 때는 그냥 이름을 지정하면 된다.
그 외의 다른 패키지의 멤버를 사용할 때는 반드시 패키지 이름을 함께 지정해야 한다.
java.util 패키지의 Date 클래스를 이용하여 날짜 값을 출력할 수 있다. %t[날짜 및 시각 옵션]
으로 사용할 수 있다.
- 년: Y(4자리 숫자), y(2자리 숫자)
- 월: B(전체 이름), b(단축 이름), m(2자리 숫자)
- 일: d(2자리 숫자), e(1자리 숫자)
- 요일: A(전체 이름), a(단축 이름)
- 시: H(24시), h(12시)
- 분: m(분)
- 초: S(초), L(밀리초), N(나노초)
- 오전/오후: Tp(대문자), tp(소문자)
1
2
3
4
java.util.Date today = new java.util.Date();
System.out.printf("%1$tY-%1$tm-%1td %1$tH:%1$tM:%1$tS\n", today);
//예) 2020-08-05 12:04:30
키보드 입력 받기
키보드로 입력한 데이터를 읽을 때 사용할 도구 준비
java.io.InputStream keyboard = System.in
키보드를 스캐너에 연결한다
inputStream은 바이트 단위로 읽는 기능이 있다. 자바에서는 바이트를 개발자가 원하는 값으로 바꿔주는 기능을 제공한다. 이 기능을 가지고 있는 도구가
java.util.Scanner
이다.java.util.Scanner keyScan = new java.util.Scanner(keyboard)
스캐너 도구를 사용하여 문자열/int 등 개발자가 원하는 값으로 바꾼다.
String str = keyScan.nextLine()
스캐너는 사용 후 키보드와의 연결을 끊고 닫는다.
keyScan.close()
System.out
: 표준 출력 장치. 즉 콘솔(모니터, 명령창)을 가리킨다.
System.in
: 표준 입력 장치. 즉 키보드를 가리킨다.
문자열 읽기
- 문자열 한 줄 읽기:
nextLine()
- 토큰 단위로 문자열 읽기:
next()
토큰(token): 공백으로 구분되는 단어
공백(whitespace): 스페이스, 탭, 줄바꿈 코드