시스템 입출력 : 프로그래밍 언어에는 시스템 표준 출력 장치(모니터)와 표준 입력 장치(키보드)가 있다.
출력장치(모니터)로 출력하기 System.out.println("출력내용") -> 괄호 안의 리터럴 또는 변수를 모니터로 출력하고 행을 바꾼다. System.out.print("출력내용") -> 괄호 안의 리터럴 또는 변수를 모니터로 출력한다. System.out.printf(""형식문자열, 값1, 값2,....") -> 괄호 안의 첫번째 문자열 형식대로 내용을 출력한다. -> 형식문자열에서 %(문자열의 시작)와 변환문자는 필수로 작성해야한다. 또한 형식문자열에 포함된 값이 2개 이상이라면 값의 순번을 알려주어야 하는데 첫번째값은 1$, 두번째값은 2$ ...와 같이 표시해야한다.
문자열
출력 방식
출력 형태
정수
%d %6d %-6d %06d
정수를 출력 6자리 정수를 출력하고 왼쪽에 공백을 채움 6자리 정수를 출력하고 오른쪽에 공백을 채움 6자리 정수를 출력하고 왼쪽 빈자리에 0을 채움
1 _ _ _ _ _1 1_ _ _ _ _ 000001
실수
%10.2f %-10.2f %010.2f
실수 영역 전체 10자리 확보, 소수점 이하 2자리, 왼쪽 빈자리공백 실수 영역 전체 10자리 확보, 소수점 이하 2자리, 오른쪽 빈자리 공백 실수 영역 전체 10자리 확보, 소수점 이하 2자리, 왼쪽 빈자리에 0을 채움
_ _ _ _ _123.45 123.45_ _ _ _ _ 0000123.45
문자열
%s %6s %-6s
문자열 출력 6자리 문자열 출력, 왼쪽에 공백을 채움 6자리 문자열 출력, 오른쪽에 공백을 채움
System.out.printf("%1$6d|%2$-10s|%3$10s|%2$s은 멋진 %3$s",1,name,job);
} 실행결과 :
상품의 가격:123원 상품의 가격: 123원 상품의 가격:123 원 상품의 가격:000123원 반지름이 10인 원의 넓이: 314.20 1 |김땡땡 | 개발자|김땡땡은 멋진 개발자
표준 입력 장치(키보드)에서 입력된 내용을 변수에 저장하기 System.In.read() -> 키보드에 입력된 키코드를 읽는다. 어떠한 값을 입력하고 엔터키를 쳐야 시스템에서 읽는다. System.In.read()가 실행되면 콘솔창이 대기상태가 되고, 엔터키가 입력되면 System.In.read()가 입력된 키들의 키코드와 엔터키에 대한 키코드를 읽는다. ex) A = 65, a = 97
publicstaticvoid main(String[] args)throws Exception { //예외처리 : 모니터에 예외내용을 출력
System.out.println("keyCode : " + keyCode); //true일 동안 {} 안의 내용을 무한히 반복
/*System.in.read()로 읽었기 때문에 int타입 키코드를 얻음. 자바는 기본타입의 값이 동일한지 비교할 떄는 ==을 사용 */
if(keyCode == 113) { break; //keyCode가 113이 되면 while문 종료 } }
System.out.println("종료");
} 실행결과 :
q keyCode : 113
종료
Scanner : 자바에 포함된 "java.util"패키지에 있는 표준 입출력 클래스.
package ch02.sec04;
import java.util.Scanner; //Scanner가 자바에 있다는 것을 컴파일러에게 알려주는 역할. 생략 시 컴파일 에러
publicstaticvoid main(String[] args) throws Exception { try (Scanner scanner = new Scanner(System.in)) { //스캐너 객체 생성 = 시스템의 입력장치로부터 읽는 Scanner객체 생성 String inputData; //문자열 변수 선언 while(true) { inputData = scanner.nextLine(); //inputData라는 변수를 설정하고, 이 변수에 scanner의 메소드 중 문자열을 입력받는 nextLine()을 사용