티스토리 뷰
입출력 스트림
system.in | 키보드로부터 직접 읽는 자바의 표준 입력 스트림. 바이트(byte) 리턴 ex)3.14를 3, ., 1, 4로 각각 리턴 |
scanner | System.in에게 키를 읽게 하고, 읽은 바이트를 문자, 정수, 실수, 불린, 문자열 등 다양한 타입으로 변환하여 리턴 입력되는 키 값을 공백으로 구분되는 아이템 단위로 읽음. 공백 : " ", "\n", "\r", "\f", "\t" |
1. Scanner
입력된 바이트를 문자, 정수, 실수, 불리언, 문자열 등으로 변환하여 리턴
공백 단위로 구분하여 읽어들임.
(*공백 : '\t', '\f', '\r', ' ', '\n')
package ch02;
import java.util.Scanner; // Scanner를 사용하기 위해 import 필요
public class DataTypeTest{
public static void main(String[] args){
Scanner a = new Scanner(System.in); // 객체 생성
//
a.close(); //Scanner 객체 사용 종료
}
}
(1) 주요 메소드
byte nextByte() | byte 타입으로 변환하여 리턴 |
short nextShort() | short 타입으로 변환하여 리턴 |
int nextInt() | int 타입으로 변환하여 리턴 |
long nextLong() | long 타입으로 변환하여 리턴 |
float nextFloat() | float 타입으로 변환하여 리턴 |
double nextDouble() | double 타입으로 변환하여 리턴 |
String next() | String(문자열) 타입으로 변환하여 리턴 |
String nextLine() | 공백을 포함하는 한 라인을 읽고 공백을 버린 나머지 리턴 |
boolean hasNext() | |
void close() | Scanner 사용 종료 |
_예제)
package ch02;
import java.util.Scanner; //import해야 Scanner 사용 가능
public class ScannerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("이름, 주소, 나이, 시력, 반려동물 여부 입력하세요.");
//입력
String name = sc.next();
sc.nextLine(); // 개행문자 제거. 오류 제거
String adr = sc.nextLine();
int age = sc.nextInt();
float eye = sc.nextFloat();
boolean pet = sc.nextBoolean();
//출력
System.out.println("이름은 "+name);
System.out.println("주소는 "+adr);
System.out.println("나이는 "+age);
System.out.println("시력은 "+eye);
System.out.println("반려동물 여부는 "+pet);
sc.close();
}
}
-nextLine(); 은 'xx시 xx구'처럼 공백을 포함해 입력받을 때 사용 됨.
-이름을 입력하고 엔터 등을 침으로써 다음 입력을 위해 넘어옴.
이때 버퍼에 공백이 남아 있는데, 이 때문에 주소(공백을 포함하는 입력값을 받는)를 입력받을 때 오류가 생긴다.
때문에 nextLine();을 추가하여 개행문자(공백)을 제거함으로써
오류없이 주소를 입력받을 수 있도록 한다.
'수업 > └Java' 카테고리의 다른 글
[CH04_01]제어문 : 조건문 (0) | 2022.01.30 |
---|---|
[CH03]연산자 (0) | 2022.01.30 |
[CH02]변수와 자료형 (0) | 2022.01.30 |
[CH00]Java 기초 (0) | 2022.01.29 |
[실습문제4]클래스 (0) | 2022.01.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- A%B
- Java
- scanner
- text formatting
- html pre
- JavaScript
- html layout
- 입력양식
- selcetor
- BAEKJOON
- 외부구성요소
- html
- ScriptTag
- input type 종류
- 기본선택자
- 스크립태그
- caption-side
- typeof
- improt
- 변수
- html atrribute
- html a tag
- 미디어 태그
- CascadingStyleSheet
- css
- html base tag
- html input type
- initialized
- border-spacing
- empty-cell
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함