IT
자바 입력(Input)과 출력(Output)
자바에서 **입력(Input)**과 **출력(Output)**은 프로그램과 사용자 또는 외부 장치 간의 데이터 주고받기를 의미합니다. 주로 **표준 입력(stdin)**과 **표준 출력(stdout)**을 다루게 되며, 콘솔을 통한 데이터 입출력이 기본입니다.
1. 자바 입력 (Input)
1.1 Scanner 클래스 사용 (콘솔 입력)
자바에서 가장 많이 사용되는 콘솔 입력 방법은 java.util.Scanner 클래스입니다.
선언 및 사용법
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
주요 메소드
메소드
설명
next()
단어 하나 입력 (공백 이전까지)
nextLine()
한 줄 전체 입력
nextInt()
정수 입력
nextDouble()
실수 입력
nextBoolean()
논리값 입력 (true/false)
예시
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("이름 입력: ");
String name = sc.nextLine();
System.out.print("나이 입력: ");
int age = sc.nextInt();
System.out.println("이름: " + name);
System.out.println("나이: " + age);
}
}
2. 자바 출력 (Output)
자바는 System.out 객체를 사용하여 표준 출력으로 데이터를 보냅니다.
2.1
System.out.print()
줄바꿈 없이 출력
System.out.print("안녕하세요");
2.2
System.out.println()
줄바꿈 포함 출력
System.out.println("Hello");
System.out.println("World");
출력 결과:
Hello
World
2.3
System.out.printf()
형식을 지정하여 출력 (C 언어 스타일)
String name = "Java";
int age = 25;
System.out.printf("이름: %s, 나이: %d", name, age);
출력 결과:
이름: Java, 나이: 25
형식 지정자
의미
%d
정수
%f
실수
%s
문자열
%n
줄바꿈 (\n 대체)
3. Scanner와 줄 입력 주의점
nextLine()은 줄 전체를 읽지만, nextInt()나 next() 다음에 nextLine()을 쓰면 줄바꿈 문자가 남아 문제가 될 수 있습니다.
해결 방법
int age = sc.nextInt();
sc.nextLine(); // 버퍼 비우기
String name = sc.nextLine();
4. 파일 입출력 (기초 소개)
파일로부터 데이터를 읽거나 저장하려면 다음과 같은 클래스들을 사용할 수 있습니다.
파일 입력 예시
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileInputExample {
public static void main(String[] args) throws FileNotFoundException {
File file = new File("input.txt");
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
}
}
파일 출력 예시
import java.io.FileWriter;
import java.io.IOException;
public class FileOutputExample {
public static void main(String[] args) throws IOException {
FileWriter writer = new FileWriter("output.txt");
writer.write("Hello, File!");
writer.close();
}
}
5. 요약
항목
주요 클래스 / 메소드
콘솔 입력
Scanner, System.in
콘솔 출력
System.out.print(), println(), printf()
파일 입력
File, Scanner, BufferedReader 등
파일 출력
FileWriter, PrintWriter, BufferedWriter 등
6. 추가 정보
-
고급 입출력은 BufferedReader, BufferedWriter, ObjectInputStream 등을 사용합니다.
-
자바에서는 입출력 예외(IOException)가 많이 발생할 수 있으므로 try-catch 혹은 throws 처리가 필요합니다.
댓글
아직 댓글이 없습니다.
로그인 후 댓글을 남길 수 있습니다.