콘솔 입출력에 대해서 알아보자
사용자에게 입력을 받거나 사용자에게 문자열을 출력해 주는 역할을 하는 것이다.
콘솔 입력부터 알아보자.
데이터를 입력 받는 방법을 단계별로 알아보자
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
String inputValue = scanner.nextLine();
J2SE 5.0 부터 Scanner 라는 java.util.Scanner 클래스가 새로 추가되어 콘솔입력을 쉽게 처리 할 수 있게 되었다. Scanner를 사용하기 위해서 java.util.Scanner 클래스를 import 해야 한다.
아래 코드를 확인해보자.
import java.util.Scanner; //Scanner 클래스를 가져오기
Scanner 클래스로 데이터 입력을 하는 것이 아니라 그 클래스에서 만들어진 객체를 통해 데이터 입력이 가능하다. 그러므로 데이터를 입력하려면 Scanner 클래스를 통해 객체를 만들어야 한다.
아래 코드를 확인해보자.
import java.util.Scanner; //Scanner 클래스를 가져오기
Scanner scanner = new Scanner(System.in); //클래스 인스턴스 생성하기
입력을 받기 위해서는 System.in을 사용해야 한다.
System.in은 InputStream은 (자바의 내장클래스)의 객체이다.
import java.util.Scanner; // Scanner 클래스를 가져오기
Scanner scanner = new Scanner(System.in); // Scanner 클래스 인스턴스 생성
String inputValue = scanner.nextLine(); // 입력값을 inputValue에 저장
System.out.println(inputValue); // 입력받은 문자열 출력
scanner.nextLine()은 문자열을 입력받기 위한 코드이다.
입력받은 문자열은 inputValue라는 변수에 할당되어 저장된다.
System.out.println(inputValue)를 통해 입력받은 문자열을 출력한다.
nextline()메서드 이외에도 next(), nextInt(), nextFloat()등이 있다.
next()는 단어를 nextInt()는 정수를 nextFloat()는 실수를 입력받는다.
다음은 콘솔 출력에 대해 알아보자.
콘솔에 값을 출력하기 위한 아래 3가지 메서드를 알아보자
System.out.print();
System.out.println();
System.out.printf();
아래 코드를 확인해보자.
System.out.print("Hello World");
System.out.print("Kim"+"DA"+"Eun");
System.out.print(2000+22);
//Hello WorldKimDAEun2022가 출력된다
System.out.print() 메서드를 쓰게 되면 아래 주석에 있는 출력값처럼 줄바꿈을 하지 않고 단순출력이 된다.
아래 코드를 확인해보자.
System.out.println("Hello World");
System.out.println("Kim"+"DA"+"Eun");
System.out.println(2000+22);
/*
Hello World
KimDAEun
2022 으로 출력된다
*/
System.out.println() 메서드는 소괄호안에 있는 내용을 줄바꿈하여 출력하는 것을 볼 수 있다. println에 있는 ln은 line을 의미한다.
System.out.printf()는지시자를 이용해 변수의 값을 지시한 형식으로 출력하는 메서드이다.
아래 코드를 확인해보자.
//System.out.printf("지시자", 출력값);
System.out.printf("%b%n", "Hello World"); //불리언+줄바꿈
System.out.printf("%s%n", "Kim"+"DA"+"Eun"); //문자열+줄바꿈
System.out.printf("%d", 2000+22); //10진수
System.out.printf("올해는 %s 년입니다.", 2022); //문자열로 타입 변환
System.out.printf("Hi %c%s.", 'I', "am developer"); //여러 개의 인자 넣기
/*
true
KimDAEun
2022올해는 2022 년입니다.Hi Iam developer로 출력된다
*/
printf의 f는 formatted를 뜻한다. 소괄호안에 있는 내용을 지시자를 통해 지시한대로 출력하는 모습을 볼 수 있다.