자바 console에 입출력을 해보자

2024. 12. 18. 13:00JAVA

728x90
반응형

 

 안녕하세요. 진득코딩입니다.

 

 저번 포스팅에서 여러 변수들의 타입에 대해서 살펴보는 시간을 가졌습니다.

 

 이번 시간에는 자바 console에 입력과 출력에 대해서 살펴보도록 하겠습니다.

 

printf()와 지시자

 

 

  •  println()은 값을 변환하지 않고는 다른 형식으로 출력할 수 없습니다.
  •  소수점 둘째 자리까지만 출력한다거나, 정수를 16진수나 8진수로 출력하고 싶을 경우가 생기게 됩니다.
  •  이럴 때 printf()를 사용하면 원하는 출력이 가능하게 됩니다.
  •  printf()를 사용할 때에는 지시자(specifier)를 사용하게 됩니다.
  •  지시자는 값을 어떻게 출력할 것인지를 지정해 주는 역할을 하게 됩니다.

 

 위 예시와 같이 값이 2개라면 지시자도 2개를 사용해주어야 합니다.

 

 3개 이상의 값도 지시자의 개수를 맞춰서 지정해줘야 하며 개수의 제한은 없습니다.

 

 

 printf()는 줄바꿈을줄 바꿈을 따로 해주지 않기 때문에 줄 바꿈을 하기 위해서는 위 예시와 같이 \n을 따로 작성해주어야 합니다.

지시자 설명
%b  불리언(boolean) 형식으로 출력
%d  10진(decimal) 정수의 형식으로 출력
%o  8진 (octal) 정수의 형식으로 출력
%x, %X  16진 (hexa-decimal) 정수의 형식으로 출력
%f  부동 소수점(floating-point)의 형식으로 출력
%e, %E  지수(exponent) 표현식의 형식으로 출력
%c  문자(character)로 출력
%s  문자열(string)로 출력

 

 자주 사용되는 지시자들의 나열입니다.

 각각의 설명을 읽고 필요한 부분에 사용해주시면 됩니다.

 

예제 2-4
예제 2-4 출력

 

  •  예제를 통해서 printf()에 대해 살펴보도록 하겠습니다.
  •  우선 finger 부분에서 출력되는 것을 보면 '0'과 '-'의 역할을 알 수 있습니다.
  •  양의 정수가 들어가게 되면 앞에 그만큼의 공간이 생기게 되고 음의 정수가 들어가게 되면 뒤에 공간이 생기게 됩니다.
     
  • 0을 추가로 작성해주게 되면 공백에 0이 들어가게 됩니다.
  • 지시자 '%x'와 '%0'에 '#'을 사용하게 되면 접두사 '0x'와 '0'이 각각 붙습니다.

  • '%X'는 16진수에 사용되는 접두사와 영문자를 대문자로 출력하게 됩니다.

  • 10진수를 2진수로 출력해 주는 지시자는 따로 없기 때문에 'Integer.toBinaryString(int i)'를 사용해서 정수를 2진 문자열로 변환해주어야 합니다.

  • char 타입의 값을 '%d' 지시자로 출력하기 때문에 (int)를 붙여서 형변환을 해준 후 출력해야 합니다.

 

예제 2-5
예제 2-5 출력

 

  • 실수형 값의 출력에 사용되는 지시자는 '%f', '%e', '%g'가 있습니다.

  • 주로 '%f'가 사용되고 '%e'는 지수형태로 출력할 때, '%g'는 값을 간략하게 표현할 때 사용합니다.

  • '%f'는 소수점 아래 7자리에서 반올림해서 출력합니다.

  • 지시자 '%s'에 숫자를 추가하면 원하는 만큼의 출력 공간을 확보하거나 문자열의 일부만 출력할 수 있습니다.

Scanner 사용하여 화면에서 입력받기

 

스캐너 입력 전

 

 이번에는 Scanner 클래스를 이용하여 console에서 입력받는 방법에 대해서 살펴보도록 하겠습니다.

 Scanner 클래스를 사용하려면 먼저 import를 해줘야 합니다.


import java.util.*; // Scanner 클래스를 사용하기 위해 추가

 

 그리고  Scanner 클래스의 객체를 생성해야 합니다.


Scaner scan = new Scanner(System.in); // Scanner 클래스의 객체를 생성

 

 객체를 생성한 후 nextLine()이라는 메서드를 호출하면, 입력 후 엔터를 누르게 되면 입력한 내용이 문자열로 반환되게 됩니다.

 

 입력받은 문자열을 숫자로 변환하려면, Integer.parseInt()라는 메서드를 사용해야 합니다.

 

 해당 메서드는 문자열을 int 타입의 정수로 변환합니다.

 

스캐너 입력 후

 

 위 예제를 실행하면 '두 자리 정수를 하나 입력해주세요.>'라는 문구만 나오게 됩니다.

 그 상태에서 console에 원하는 숫자를 입력하게 되면 해당 숫자가 밑에 출력되게 됩니다.


 

 이번 시간에는 console에 좀 더 원하는 출력을 하는 방법과 console에서 입력받는 방법에 대해서 살펴보았습니다.

 원하는대로 입력과 출력을 하기 위해서는 위 내용에 대해서 잘 숙지하고 적절히 활용하는 것이 좋다고 생각합니다.

 

 이번 포스팅은 여기까지입니다.

 

 끝까지 봐주셔서 감사합니다. 😊

728x90
반응형
LIST