5월 13일 목요일 (4일차) - 키보드입력받기ㅇ

@_@·2021년 5월 15일

Java 1부

목록 보기
7/27

<목차>
(키보드로 데이터 입력받기)
ㅇ Scanner




ㅇ 키보드로 데이터 입력받기

  • 파이썬에서는 키보드로 입력받을 때 input 함수를 사용했어
  • 자바는 키보드로부터 데이터를 입력받는 기능을 가진 변수를 활용해 => 스캐너
  • 변수 만들 때 자바에서는 데이터 타입을 명시해줘야 해. Scanner 라는 데이터 타입을 이용할 거야

ㅇ JRE System Library 라이브러리

  • 자바를 개발할 때 도와줄 수 있는 코드들을 묶어 놓은 파일 (남들이 만들어 놓은)
  • 비행기를 만들 때 남이 만든 설계도 가져다 시작하면 좀 더 빠른 것처럼 남이 만들어 놓은 코드 사용
  • java.base (우유모양 : 자바파일을 압축해 놓은 것)
    • 그 안의 jaba.util (상자모양 : 폴더)
      • 그 안의 Scanner.class
  • 외부(라이브러리)에 있는 파일을 가져다 쓸 거라서 경로를 지정해 줘야 해
  • import : 외부 파일의 경로를 지정 해주는 것 (내꺼 안에다 외부 파일을 넣어주겠다.)

ㅇ Scanner import하기

  • Scanner에 마우스 올려주면 해결법 나옴 : java.util 눌러주면 돼
  • import 지울 때는 그냥 그 줄 지워주면 돼
  • 단축키는 컨트롤 + 시프트 +  o



ㅇ Scanner

  • Scanner는 어제 배운 기본자료형(8개)이 아니라 레퍼런스(참조) 타입이야
  • 레퍼런스 자료형은 꼭 new를 넣어줘야 해
    • 스트링도 레퍼런스 자료형인데 왜 new 안 썼어요?
      • 워낙 자주 쓰다 보니 생략된 것
  • 텍스트파일, 이미지, 영상, 음성 등을 다 스캐너로 불러올 수 있어
    • 우리는 키보드(시스템)를 통해 입력받을 거니까 System.in 사용
  • 이렇게 하고 나면 sc 라는 변수가 데이터를 입력받을 수 있는 기능을 쓸 수 있어
    • 어떤 변수가 기능을 수행하게 할 때는 . 을 찍으면 돼 : sc.
    • 숫자를 입력받을 때는 next 뒤에 정수형인 int를 쓸 거야. 즉 nextInt라는 메소드를 사용할 거야 : sc.nextInt();
  • 입력값을 계속 이용하려면 변수 활용 input
  • 콘솔 창에 숫자를 입력하라는 안내문자를 띄워주자.
    • syso ln지우고 "숫자를 입력해 주세요 >> "
      • ln : line의 약자. 줄 바꿈의 의미야
    • 위치 : sc변수 선언과 input변수 선언 사이에
      (sc변수 선언 따로 하고 한 칸 띄고 그다음에 다른 코드들은 쓰는 느낌으로)
  • 내가 숫자를 입력하기 전까지 아래의 코드를 실행하지 않아. 입력받을 때까지 계속 대기 (파이썬처럼)
  • 정리하면
    • 내가 입력한 숫자가 nextInt로 넘어와서
    • (대입연산자는 우측부터) 우측의 값이 input으로 들어가고
    • 그 결과가 출력으로 나오는 것


(내 요약)

  • 스캐너 : 키보드로 입력받기 위해 Scanner 자료형을 선언
  • 출력문 : 사용자에게 친절하게 하려고
  • sc에 입력받은 '숫자'를 넣기 위해 넥스트인트라는 기능을 사용하고
  • sc의 넥스트인트라는 기능은 사용자가 입력한 '숫자'을 리턴함
  • 이 값을 변수에 넣기 위해 대입연산자를 이용해서 input이라는 (선언과 동시에)변수에 넣어
  • 마지막 원하는 문구를 출력



+) 유툽 인강에서 자료 추가 : Scanner 메소드 종류



ㅇ 예제11 (정처기 실기 알고리즘 20점짜리 문제 18기출)

  • 쌤 답 : 남은 값을 변수에 다시 넣어주기. 오오!!
    (다른 데서도 계속 사용되는 아이디어인 듯!!)

  • 내 답


profile
STEP BY STEP

0개의 댓글