자바의 입출력(Input/Output) 방법에 대해 적었습니다.
자바에서는 표준 출력(콘솔)에 데이터를 출력하기 위해 System.out 객체를 사용합니다.
주요 메서드로는 print(), println(), printf()가 있습니다.
print()print() 메서드는 출력할 내용을 콘솔에 출력하지만 줄 바꿈을 하지 않습니다.
System.out.print("Hello, "); System.out.print("World!");//결과 Hello, World!
println()println() 메서드는 출력할 내용을 콘솔에 출력하고 줄 바꿈을 합니다.
System.out.println("Hello, World!"); System.out.println("안녕하세요.");//결과 Hello, World! 안녕하세요.
printf()printf() 메서드는 형식화된 출력을 제공합니다. printf()는 첫 번째 매개변수로 형식 문자열을 받고, 이후의 매개변수는 형식 문자열에서 지정한 형식에 맞게 대입됩니다.
포맷 안에서 쓸 수 있는 키워드
%d: 정수
%c: 문자
%s: 문자열
%f: 실수 (%와 f 사이에 .1, .2 같이 쓰면 소수점 아래로 원하는 만큼 표시할 수 있습니다.)
int age = 25; double height = 178.5; System.out.printf("나이: %d, 키: %.2f %n", age, height);//결과 나이: 25, 키: 178.50
%.2f는 소수점 둘째 자리까지의 실수를 의미합니다.
자바에서 출력문을 작성할 때, 이스케이프 시퀀스를 사용하면 특수한 문자나 형식을 출력할 수 있습니다. 이스케이프 시퀀스는 백슬래시(\)로 시작하며, 다음과 같은 주요 이스케이프 시퀀스들이 있습니다:
\n: 새로운 줄(줄 바꿈)\t: 탭\\: 백슬래시 출력\": 큰따옴표 출력\b: 백스페이스\r: 캐리지 리턴public class EscapeSequenceExample { public static void main(String[] args) { System.out.print("Hello, World!"\n); System.out.println("이름:\제민"); System.out.println("백슬래시: \\"); System.out.println("\"프로그래밍 배우기\""); } }//결과 Hello, World! 이름: 제민 백슬래시: \ "프로그래밍 배우기\"
다음은 출력문을 사용하는 예제 코드입니다:
package a.basic;
public class Output {
public static void main(String[] args) {
// 한 줄을 출력하고 개행을 하는 출력문
System.out.println("안녕하세요");
System.out.println("제민 입니다");
// 단순하게 출력을 할 때 사용하는 출력문
System.out.print("제 성별은\n");
// print에서 개행을 하고 싶을 때는 \n을 이용한다.
System.out.print("남자입니다.\n\n");
String name = "제민";
System.out.println("안녕하세요 저는 " + name + "입니다.");
// System.out.printf(문자열 포멧, 값1, 값2);
System.out.printf("안녕하세요 저는 %s입니다.\n", name);
System.out.printf("안녕하세요 저는 %s입니다. 나이는 %d이고, 키는 %.1f입니다.", "전제민", 55, 180.5);
}
}
위 코드는 다양한 출력문을 사용하는 방법을 보여줍니다.
자바에서 사용자로부터 입력을 받기 위해 Scanner 클래스를 사용합니다. Scanner 클래스는 다양한 데이터 타입을 입력받을 수 있는 메서드를 제공합니다. 이를 통해 사용자로부터 데이터를 읽어올 수 있습니다.
Scanner 클래스의 주요 메서드next():보통 문자(열) 타입 데이틀 입력받습니다.nextLine(): 버퍼에서 \n(엔터값)을 비워줍니다.nextByte(): byte 타입 데이터를 입력받습니다.nextShort(): short 타입 데이터를 입력받습니다.nextInt(): int 타입 데이터를 입력받습니다.nextLong(): long 타입 데이터를 입력받습니다.nextFloat(): float 타입 데이터를 입력받습니다.nextDouble(): double 타입 데이터를 입력받습니다.★정수나 실수를 입력받는 코드를 작성했을 때 \n토큰이 함께 들어오기 때문에 nextLine()을 통해서 비워주는 코드를 작성해야한다.
먼저, Scanner 객체를 생성하고 System.in을 통해 표준 입력(키보드 입력)을 설정합니다.
Scanner sc/*sc는 변수명이므로 자유롭게 작성*/ = new Scanner(System.in);
아래의 코드는 Scanner 클래스를 사용하여 다양한 데이터 타입을 입력받고, 입력받은 값을 출력하는 예제입니다:
import java.util.Scanner; // Scanner를 사용하기 위해서 외부로부터 가져온다. public class Input { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("====================="); String name; int age; float height; System.out.print("이름을 입력해주세요: "); name = sc.next(); sc.nextLine(); // 버퍼에서 \n(엔터값)을 비워주는 코드 (그래야 에러가 발생하지 않음) System.out.print("나이를 입력해주세요: "); age = sc.nextInt(); sc.nextLine(); System.out.print("키를 입력해주세요: "); height = sc.nextFloat(); sc.nextLine(); System.out.println("이름: " + name + " 나이: " + age + " 키: " + height); System.out.println("====================="); sc.close(); } }