카테고리 없음

java Scanner 클래스

Cognivox 2025. 4. 2. 14:02
반응형

✅ Scanner 클래스 사용할 때 꼭 적어야 하는 3가지

1️⃣ import 구문 (맨 위에 있어야 함)

👉 Scanner는 자바에서 java.util 패키지에 있기 때문에, 반드시 import 해야 쓸 수 있어.


2️⃣ Scanner 객체 생성

👉 System.in은 키보드 입력을 뜻해.
👉 scann은 변수 이름인데, 보통 sc, scanner, input 등으로도 많이 씀.


3️⃣ 입력 받을 때 사용하는 메서드

입력 타입메서드
문자열 scann.nextLine()
정수 scann.nextInt()
실수 scann.nextDouble()
불리언 scann.nextBoolean()

💡 예시 전체 코드

✅ import
✅ new Scanner(System.in)
✅ 입력 메서드(nextLine, nextInt 등)

 

 

 

✅ Scanner 클래스란?

  • 키보드(사용자)로부터 데이터를 입력받을 때 사용하는 자바의 기본 클래스야.
  • Scanner 객체를 만들고, 다양한 입력 메서드를 사용해서 값을 읽어올 수 있어.
  • 사용 전에 꼭 import java.util.Scanner; 해줘야 함.

🧾 메서드 정리표 (이미지 기준)

메서드입력 자료형설명
nextInt() int 정수 입력
nextFloat() float 실수 입력
nextDouble() double 큰 실수 입력
nextLong() long 더 큰 정수 입력
nextShort() short 작은 정수 입력
next() String 공백 전까지 한 단어만 읽음
nextLine() String 공백 포함, 한 줄 전체를 문자열로 읽음
nextBoolean() boolean true / false 입력 받음

메서드란?

메서드 = 어떤 동작을 수행하는 코드 덩어리
→ 쉽게 말해, **"함수"**라고 생각해도 돼 (자바에서는 메서드라고 부름)

이건 sayHello()라는 메서드.
부르면 "안녕!"이라고 출력하는 일을 해줌

💡 꿀팁

  • 숫자 입력하고 바로 nextLine() 쓰면 줄 바꿈(Enter)이 남아서 문제가 생길 수 있음 → 이때는 scan.nextLine() 한 번 더 써서 처리해줘야 해!
  • 한 줄 입력: nextLine()
  • 한 단어 입력: next()
  • 정수 입력: nextInt() 등

✅ [3. 입력처리과정] 설명


① Scanner 클래스 패키지 임포트

  • 자바에서 Scanner를 쓰려면 미리 불러와야 함(import)
  • java.util이라는 도구 상자 안에 Scanner가 들어 있음
  • 두 가지 방식이 있음:
    • import java.util.Scanner; → Scanner 클래스만 불러옴 (가장 많이 씀)
    • import java.util.*; → 전체 도구(패키지) 다 불러옴 (불필요한 것도 같이 불러옴)

② Scanner 객체 생성하기

  • System.in은 키보드 입력을 위한 통로
  • 그 통로를 Scanner라는 도구와 연결
  • 이렇게 하면 scan이라는 이름으로 키보드 입력을 읽을 수 있는 객체가 만들어짐

✔️ System.in → 키보드에서 입력 스트림을 읽는 객체
✔️ new Scanner(System.in) → 키보드랑 연결된 입력도구 생성


③ 다양한 메서드로 입력 받기

  • 이제 scan.nextInt() 같은 Scanner의 메서드를 써서 키보드로부터 값을 입력받을 수 있음
메서드역할
nextInt() 정수 입력 받기
next() 단어 입력 받기
nextLine() 한 줄 전체 입력 받기
nextDouble() 실수 입력 받기

✅ 요약하면!

  1. Scanner 임포트
    import java.util.Scanner;
  2. Scanner 객체 생성
    Scanner scan = new Scanner(System.in);
  3. 메서드로 입력 받기
    예: int age = scan.nextInt();

 

📌 실행 흐름

  1. import java.util.Scanner;
    • Scanner 클래스 사용하기 위해 미리 가져오는 코드.
  2. Scanner input = new Scanner(System.in);
    • 키보드(System.in)와 연결된 입력 도구 생성.
    • input이라는 이름으로 Scanner 객체를 만듦.
  3. System.out.println("당신의 이름을 입력하세요.");
    • 사용자에게 입력하라고 출력함.
  4. input.nextLine();
    • 사용자가 키보드로 입력한 한 줄 전체 문자열을 읽어서 name 변수에 저장.
  5. System.out.println("당신의 이름 : " + name);
    • 입력된 이름을 화면에 출력함.

🖥 실행 결과

  • 첫 줄은 안내 메시지
  • 둘째 줄은 사용자가 입력한 값
  • 셋째 줄은 그 입력값을 이용해 출력된 결과

🎯 아래 그림 설명

  • 키보드 → System.in → Scanner(input)
    키보드에서 입력된 값이 System.in을 통해 Scanner로 들어감
  • **입력값(문자열)**은 name 변수에 저장됨
  • System.out을 통해 모니터에 출력됨

💬 한 줄 요약

Scanner는 키보드에서 한 줄을 받아서 name 변수에 저장하고, 그걸 화면에 출력하는 프로그램


 

✅ Scanner 입력처리 과정 (총 3단계)


① Scanner 패키지 임포트

  • Scanner 클래스는 자바에서 기본으로 제공하지만, **별도의 도구함(java.util)**에 들어 있음
  • 그래서 사용하기 전에 꼭 불러와야 함!
  • import는 외부 클래스를 현재 파일에 끌어오는 역할을 함

② Scanner 객체 생성

  • System.in → 키보드 입력 스트림 (사용자가 입력한 값을 읽기 위한 통로)
  • new Scanner(...) → Scanner 객체 생성
  • input → Scanner 객체의 이름 (마음대로 바꿔도 됨: scan, scanner 등)

즉, 이 줄은 "키보드랑 연결된 입력도구를 하나 만든다"는 뜻


③ 입력 메서드 호출

  • input.nextLine() → 사용자가 입력한 한 줄 문자열 전체를 읽음
  • 읽은 값을 name 변수에 저장

📦 전체 흐름 요약

단계설명코드
1단계 Scanner 불러오기 import java.util.Scanner;
2단계 입력도구 만들기 Scanner input = new Scanner(System.in);
3단계 입력 받기 String name = input.nextLine();

🎯 한 줄 요약

자바에서 키보드 입력 받으려면
1) import → 2) 객체 생성 → 3) 메서드로 입력받기 이 3단계를 기억하면 됨


 

✅ 핵심 주제:

Scanner 메서드로 이름(문자열) + 연락처(정수) 입력받기


📌 코드 설명

  • Scanner 클래스를 사용하려면 반드시 import 해야 함

 Scanner input → 키보드 입력을 받을 수 있게 만드는 객체

  • 사용자에게 이름 입력하라고 안내
  • input.next()는 한 단어짜리 문자열 입력받음
  • 예: 홍길동 (O), 홍 길동 (X → 공백 때문에 끊김)

  • 사용자에게 연락처(숫자)를 입력하라고 안내
  • input.nextInt()는 정수형 숫자를 입력받음
  • 예: 01012345678 → 오류 발생 가능 (정수 크기 제한 때문에)

⚠️ 주의점

  • next()는 공백이 있으면 입력이 끊김 → 전체 이름을 받고 싶으면 nextLine() 써야 함
  • 전화번호는 int로 받으면 너무 커서 오류 발생 가능
    문자열(String) 으로 입력받는 게 더 안전
    (예: String userMobile = input.next();)

🎯 한 줄 요약

이름은 next()로 문자열, 연락처는 nextInt()로 정수를 입력받는 예제
실무에서는 연락처는 정수가 아닌 문자열(String)으로 입력하는 게 안전


#자바 #Java기초 #Scanner #자바입력 #키보드입력 #자바문자입력 #자바숫자입력 #nextLine #nextInt #next #입력처리 #자바코딩 #프로그래밍입문 #자바수업 #자바예제 #자바공부 #코딩입문 #자바메서드 #콘솔입력 #자바학생

#자바 #자바학습 #자바기초 #자바프로그래밍 #자바언어 #자바기초학습 #자바배우기 #자바개발 #자바코딩 #자바문법 #자바배열 #자바클래스 #자바객체지향 #자바메서드 #자바변수 #자바조건문 #자바반복문 #자바예제 #자바튜토리얼 #자바개발자

반응형