[Must Have Java][Chapter 05] 콘솔 출력과 입력

허다람·2024년 5월 20일
post-thumbnail

[Must Have] 이재환의 자바 프로그래밍 입문 책을 읽고 정리한 글입니다.

💡 학습 목표
System.out.println() 과 System.out.print()을 사용한 출력을 간단히 정리하고, 입력을 더 살펴보자.

1. 콘솔 출력

콘솔이란 컴퓨터를 대상으로 데이터를 입력 및 출력하는 장치를 총칭하는 말이다.
대표적으로 키보드와 모니터가 콘솔 입출력 장치에 해당한다.

자바에서는 화면에 데이터를 출력하는 다양한 기능을 제공하다. 이런 기능들을 메서드라고 부른다. 메서드 형태는 뒤에 소괄호가 붙어 있다. 모두 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', "홍길동");

포맷 문자열에 지정할 수 있는 서식은 다음과 같다.

서식 지정자출력의 형태
%d10진수 정수 형태 출력
%o8진수 정수 형태 출력
%x16진수 정수 형태 출력
%f실수 출력
%ee 표기법 기반 실수 출력
%g출력 대상에 따라서 %e 또는 %f 형태 출력
%s문자열 출력
%c문자 출력

2. 콘솔 입력

Scanner 클래스는 편리한 콘솔 입력 기능을 제공한다. 숫자뿐 아니라 다양한 데이터를 입력받을 수 있다.

nextInt() 메서드 기능 예제

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 
  • 입력될 때까지 프로그램이 잠깐 멈추게 된다.
  • 입력이 끝나고 Enter 값이 들어오면 프로그램이 진행된다.
  • 여러 숫자가 입력되면 일단 버퍼에 내용을 넣고 공백(스페이스)이나 탭으로 구분하여 하나씩 입력된 데이터를 변수에 대입하게 된다.

next()와 nextLint() 메서드 기능 예제

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);
// 출력결과
// [홍길동 전우치] [홍길동] [전우치]
  • nextLine() 메서드는 입력된 값은 Enter가 입력될 때 한 번 줄 단위로 입력 받는다.
  • next() 메서드는 입력받은 값을 일단 버퍼에 넣고 공백(스페이스)이나 탭으로 구분하여 입력을 구분하여 처리한다.

핵심 요약

  • 콘솔은 컴퓨터를 대상으로 데이터를 입력 및 출력하는 장치를 총칭한다.
  • 자바에서는 화면에 데이터를 출력하는 다양한 메서드를 제공한다. System.out과 연결해 사용한다.
  • Scanner 클래스는 편리한 콘솔(키보드) 입력 기능을 제공한다.
profile
나 java봐라

0개의 댓글