
[Must Have] 이재환의 자바 프로그래밍 입문 책을 읽고 정리한 글입니다.
💡 학습 목표
System.out.println() 과 System.out.print()을 사용한 출력을 간단히 정리하고, 입력을 더 살펴보자.
콘솔이란 컴퓨터를 대상으로 데이터를 입력 및 출력하는 장치를 총칭하는 말이다.
대표적으로 키보드와 모니터가 콘솔 입출력 장치에 해당한다.
자바에서는 화면에 데이터를 출력하는 다양한 기능을 제공하다. 이런 기능들을 메서드라고 부른다. 메서드 형태는 뒤에 소괄호가 붙어 있다. 모두 System.out과 연결해 사용한다.
System.out.println()
System.out.print()
System.out.printf()
이 중 printf()를 살펴보자. 문자열의 내용을 조합하여 출력하는 기능을 제공한다.
예전 CLI(Command-Line Interface) 환경에서는 많이 사용한 기능이지만, GUI(Graphical User Interface)를 사용하는 요즘에는 사용빈도가 떨어졌다. 사용 형식은 다음과 같다.
System.out.printf("포맷 문자열", 데이터, 데이터, 데이터 ... );
ex) %d == 10 / %f == 3.14 / %c == A / %s == 홍길동
System.out.printf("정수 : %d, 실수 : %f, 글자 : %c, 글자들 : %s", 10, 3.14, 'A', "홍길동");
포맷 문자열에 지정할 수 있는 서식은 다음과 같다.
| 서식 지정자 | 출력의 형태 |
|---|---|
| %d | 10진수 정수 형태 출력 |
| %o | 8진수 정수 형태 출력 |
| %x | 16진수 정수 형태 출력 |
| %f | 실수 출력 |
| %e | e 표기법 기반 실수 출력 |
| %g | 출력 대상에 따라서 %e 또는 %f 형태 출력 |
| %s | 문자열 출력 |
| %c | 문자 출력 |
Scanner 클래스는 편리한 콘솔 입력 기능을 제공한다. 숫자뿐 아니라 다양한 데이터를 입력받을 수 있다.
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
// 1 2 입력
int num3 = sc.nextInt();
int num4 = sc.nextInt();
// 3 입력
// 4 입력
System.out.printf("%d %d %d %d", num1, num2, num3, num4);
// 출력결과
// 1 2 3 4
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine();
// 홍길동 전우치 입력
String str2 = sc.next();
String str3 = sc.next();
// 홍길동
// 전우치
System.out.printf("[%s] [%s] [%s] [%s]", str1, str2, str3);
// 출력결과
// [홍길동 전우치] [홍길동] [전우치]