BackEnd/Java

[JAVA]변수 Scanner

Hojung7 2024. 7. 20. 19:54

Scanner 클래스란?

- 사용자로부터 입력을 받기 위해 Java에서 제공하는 클래스

 

- java.util 패키지에 속해 있음

 

▷ new 연산자

 

메모리(heap)에 새로운 객체를 만들겠다는 의미


System.in

 

지정된 입력 장치(이클립스 기본값 키보드)

new Scanner(System.in)

 

 키보드 입력을 읽어들이는 Scaneer 객체 생성

 

sc.nextInt();


- 다음 입력된 정수를 반환

 

-  단, 정수가 아닌 값을 입력하면 예외(Exception) 발생

 

#예제1

 

package ex;

// import : 다른 패키지에 존재하는 클래스를 가져오는 구문
import java.util.Scanner;

public class ScannerEx {
	
	// main method : 자바 실행 메서드(기능)
	public static void main(String[] args) {


	     Scanner sc = new Scanner(System.in);
	    
	     System.out.print("정수 입력 : ");
	     int i = sc.nextInt();
	     System.out.println("i : " + i);
	     
	     System.out.print("정수 입력2 : ");
	     int j = sc.nextInt();
	     System.out.println("j : " + j);
	     
	     System.out.println("i + j = " + (i+j));

 

# 결과

 

# 예제2

package ex;

// java.util.Scanner 클래스 가져오기
import java.util.Scanner;

public class ScannerEx2 {
	
	public static void main(String[] args) {
		
		// Scanner 객체 생성
		Scanner sc = new Scanner(System.in);
	
		System.out.print("이름 입력 : ");
		String name = sc.next(); // 문자열 입력 (띄어쓰기X)
		
		System.out.print("나이 : ");
		int age = sc.nextInt();
		
		System.out.print("키  입력(cm) : ");
		double height = sc.nextDouble();
		
		
		System.out.print("성별 입력(남/여) : ");
		char gender = sc.next().charAt(0);
		
		System.out.println("자기 소개 : ");
		 sc.nextLine(); // 버퍼에 남아있는 개행문자 제거
		 			    // (자세한 설명은 아래 확인)
		 String introduce = sc.nextLine();
		
		// 홍길동은 20세, 키 212.5cm의 남성 입니다.
		System.out.printf("%s은 %d세, 키 %.1fcm의 %c성 입니다. \n",
									name, age, height, gender);
                                    
		// 자기소개 : 농구 잘할 수 있습니다
		System.out.println("자기소개 : " + introduce);
		
	}

}

 

# 결과

 

Scanner는 char를 제외한  기본 자료형 7가지를 입력받는 기능(메서드)을 제공
 
 + 문자열 입력 방법 2개 제공
  (next(), nextLine())
 
문자열.charAt(index)


 -> 문자열에서 index번째 문자 하나를 char 형태로 반환
   
ex)  "남".charAt(0) -> '남' (char)
 
 

'BackEnd > Java' 카테고리의 다른 글

[Java]변수 실전예제2  (2) 2024.07.21
[JAVA]01_변수 실전예제1  (0) 2024.07.20
[JAVA]변수 Print  (1) 2024.07.18
[JAVA]변수 기초  (0) 2024.07.18
[JAVA]JAVA 프로그래밍 기초  (0) 2024.07.18