해당 포스트는 나도코딩의 자바 클래스를 참조하여 작성하였다.

https://opentutorials.org/course/1223/5575

 

입력과 출력 - 생활코딩

이전 시간에 메소드에서의 입력과 출력에 대해서 알아봤다. 이를 통해서 메소드가 좀 더 쓸모 있는 것이 될 수 있다는 것도 알게 되었을 것이다. 그럼 자바 에플리케이션도 입력과 출력을 할 수

opentutorials.org

 

파이썬에서는 input, C언어에서는 scanf를 사용하여 사용자의 입력을 받는다.

그럼 자바에서는 입력을 어떻게 받을 수 있을까?

 

자바에서 제공하는 라이브러리 중 Scanner 라는 클래스가 있다.

마찬가지로 Scanner를 사용하는 방법은 해당 클래스에 대한 객체를 생성해서 사용하면 된다.

방법은 이러하다.

 

import java.util.Scanner;	//클래스 호출

public class Test {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);	//객체 생성
		
		String word = scanner.nextLine();	//사용자의 입력을 받아 해당 변수에 저장함
		System.out.println(word);	//입력받은 문자열 출력
	}
}

 

객체를 생성하는 방법을 잠깐 설명하자면 다음과 같다.

클래스_이름 객체_이름 = new 클래스_이름();

 

그러나 Scanner 객체를 생성할 땐 System.in 이 들어가는 점을 주의해야 한다.

 

System.in 은 사용자로부터 입력을 받기 위한 입력 스트림이다.

그렇기에 Scanner 외에 다른 입력 방식들도 사용자의 입력을 받기 위해 System.in이 사용된다.

 

이제 Scanner 의 입력 메소드 종류를 알아보자.

객체명.nextByte()		// byte 형 입력 및 리턴
객체명.nextShort()		// short 형 입력 및 리턴
객체명.nextInt()		// int 형 입력 및 리턴
객체명.nextLong()		// long 형 입력 및 리턴
 
객체명.nextFloat()		// float 형 입력 및 리턴
객체명.nextDouble()		// double 형 입력 및 리턴
 
객체명.nextBoolean()	// boolean 형 입력 및 리턴
 
객체명.next()			// String 형 입력 및 리턴	(공백을 기준으로 한 단어를 읽음)
객체명.nextLine()		// String 형 입력 및 리턴 (개행을 기준으로 한 줄을 읽음)

 

 

아래는 Scanner를 사용한 예제 코드이다.

import java.util.Scanner;	//클래스 호출

public class Test {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);	//객체 생성
		
		int a = scanner.nextInt();
		int b = scanner.nextInt();//사용자의 입력을 받아 해당 변수에 저장함
		
		System.out.println(a + b);	//해당 변수의 연산 값 출력
	}

}

 

이렇게 a와 b를 입력받고 입력받은 변수의 연산 값을 출력하는 코드를 작성할 수 있다.