Nulog
article thumbnail


JAVA에서는 사용자로부터 데이터를 입력 받아 변수로 활용할 수 있는 방법이 여러 가지가 있다.

  • Scanner
  • BufferedReader 

위 두 가지가 JAVA에서 입력받을 때 사용되는 대표 클래스이다.


1. Scanner

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

Scanner sc = new Scanner(System.in); // Scanner 클래스의 객체 생성
String str = sc.nextLine();   // 입력한 내용이 str에 저장
int i = sc.nextInt();

System.out.println(str);	// 입력한 문자열이 출력됩니다.
System.out.println(i); 		// 입력한 정수가 출력됩니다.

  • 기본적인 사용방식과 메서드는 위 코드와 그림 참조.
  • next()와 nextLine()의 차이점은 개행문자(Enter, \n)를 받는지의 여부 차이
    • 다시말해, next()는 String(스페이스 or 엔터로 구분) // nextLine()은 String 문자열 1줄을 받아온다.
  • nextLine()은 버퍼에 Enter(\n)이 들어있는 상태라면, \n만 출력하게 된다.
  • 따라서 버퍼를 처리해주는 nextLine()코드를 한줄 더입력하여 버퍼를 비우고, 새로운 nextLine()으로 입력값을 받을 수 있다.
import java.util.Scanner;

public class Main{
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
        
        System.out.println("입력1: ");
        int i1 = sc.nextInt();
        
        System.out.println("입력2: ");
        String str1 = sc.nextLine();
        
        System.out.println("출력1: ");
        System.out.println(i1);
        
        System.out.println("출력2: ");
        System.out.println(str1);
    }
}

/* 출력:
입력1:
1
입력2:
출력1:
1
출력2:
*/

import java.util.Scanner;

public class Main{
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
        
        System.out.println("입력1: ");
        int i1 = sc.nextInt();
        
        System.out.println("입력2: ");
        sc.nextLine(); // 개행문자(\n) 처리
        String str1 = sc.nextLine();
        
        System.out.println("출력1: ");
        System.out.println(i1);
        
        System.out.println("출력2: ");
        System.out.println(str1);
    }
}

/* 출력:
입력1:
1
입력2:
2
출력1:
1
출력2:
2
*/

2. BufferedReader

  • 별도 포스팅 예정

'JAVA' 카테고리의 다른 글

[JAVA] 예외처리  (0) 2023.07.14
[JAVA] 제네릭  (0) 2023.07.14
[JAVA] Enum(열거형)  (0) 2023.07.14
[JAVA] 연산자  (0) 2023.07.13
[JAVA] 객체지향프로그래밍이란?  (0) 2023.07.13
profile

Nulog

@Nuni0617

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!