언어(Language)/Java

[Java] 자바 입출력 개념 정리 및 사용법 (print, println, printf, Scanner)

잇트루 2022. 9. 11. 23:23
반응형

입출력

프로그래밍을 하면서 변수의 담긴 값이나 문자열을 확인하거나, 데이터를 입력받아 코드를 수행하도록 할 수 있다. 입력 메서드와 출력 메서드를 활용하여 콘솔 창에 입력 및 출력을 할 수 있다.

 

출력

값이나 문자열을 확인하기 위해 메서드를 활용하여 출력한다. 콘솔에 값을 출력하기 위해서는 System.out.print(), System.out.println(), System.out.printf() 메서드를 활용할 수 있다.

 

System.out.print()

소괄호 안의 내용을 단순 출력하는 것으로 줄 바꿈을 하지 않는다.

System.out.print("Hello");
System.out.print(" ");
System.out.print("Java");
System.out.print("!!");

// 콘솔창에 Hello Java!! 출력

 

System.out.println()

소괄호 안의 내용을 콘솔에 출력하고 줄 바꿈(개행: \n)을 한다.

System.out.println("Hello");
System.out.println(" ");
System.out.println("Java");
System.out.println("!!");

// Hello
//  
// Java
// !!

 

System.out.printf()

지시자(Specifier)와 플래그를 이용해 변수의 값을 여러 형식으로 출력할 수 있는 메서드이다. 즉, 어떠한 형식이 정해져 있고, 이에 맞추어 출력을 할 수 있다.

지시자의 종류와 역할

  • %b : boolean
  • %d : 10진수
  • %o : 8진수
  • %x, %X : 16진수
  • %c : 문자
  • %s : 문자열
  • %n : 줄 바꿈

플래그의 종류와 역할

  • - : 왼쪽 정렬
  • + : +, - 부호 출력
  • 공백(’ ‘) : 음수일 때만 부호 출력
  • 0 : 남은 자리에 0을 채움
  • , : 일정 자릿수마다 구분 문자 표시
  • # : 8진수, 16진수에 접두사 표시
// 줄바꿈
System.out.printf("안녕하세요.%n");

// 문자, 문자열, 10진수 표현
System.out.printf("%s%d%s", "지금은", 10, "시 입니다.");
System.out.printf("%c%s입니다.", '홍', "길동");

// 플래그 사용
System.out.printf("지금 %,d원이 필요해", 100000);
System.out.printf("%5d%n", 10);
System.out.printf("%-5d%n", 10);
System.out.printf("%05d%n", 10);

 

출력

값을 입력하여 입력한 데이터가 동작에 맞게 처리할 수 있도록 할 때 사용한다. 자바에서 출력을 하기 위해서는 Scanner 클래스를 사용해야 한다. 따라서 import java.util.Scanner; 명령어를 통해 모듈을 불러온 후 사용한다.

// Scanner 클래스 불러오기
import java.util.Scanner;

public class InputEx {
    public static void main(String[] args) {
        // Scanner 클래스의 인스턴스 생성하기
        Scanner scanner = new Scanner(System.in);
        // nextLine() 메서드를 통해 입력 값 변수에 저장하기
        String inputValue = scanner.nextLine();

        System.out.println(inputValue);
    }
}

Scanner 사용 순서

  1. import를 통해 Scanner 클래스를 불러온다.
  2. Scanner 클래스의 인스턴스를 생성한다.
  3. 문자열 변수에 Scanner 인스턴스를 사용한다.
  4. 실행 시 데이터를 콘솔 창에 입력한다.

입력 메서드 (Input Method)

nextLine() : 문자열을 입력받는 메서드

nextInt() : 정수형 데이터를 입력받는 메서드

netxFloat() : 실수형 데이터를 입력받는 메서드

반응형