입력
read()는 한 번의 입력만 받는다. 그러므로 주로 Scanner 클래스를 많이 쓴다.
메서드 read
System.in.read(); 입력받은 값을 반환한다.
throws IOException
--> 운영체제와 소통하며 문제가 발생할 수 있다.
그러므로 자바에서는 예외를 관리할 때 전가(throws), 처리(try-catch), 예외 발생(throw)한다.
ex) 예외의 예
0의 값으로 나눈다.
java코드는 문제가 없으나 DB에 문제가 있다.
운영체제에서 제대로 동작이 안됐다.
입력을 받을 때 buffer를 통하게 된다. 데이터를 먼저 수집하여 같이 처리한다.
캐리지 리턴 +라인피드 = Enter도 문자로서 할당이 되어있다.
그렇기 때문에 enter입력을 제거하기 위해 read()를 두 번 사용해둔다.
Scanner 클래스
Scanner 자료형 , 참조자료형
input : 변수 이름 참조 변수 담기는 값은 참조(주소) 값
new : 메모리에 공간을 확보한 후 Scanner클래스의 내용을 담음.
System.in : 시스템에서 입력을 받는다.
enter를 받아 입력값을 반환한다.
Scanner input; input = new Scanner(System.in); |
import java.util.* ;
단축키 : ctrl + shift + o 임포트 자동완성 (패키지 경로는 확인한다.)
. : 참조 연산자
○자주 쓰는 것들
input.next();
-이 코드의 경우 공백을 인식해서 그 앞의 문자열만 인식한다.
input.nextLine();
-줄 바꿈만 입력 문자열의 끝으로 사용한다. 그러므로 next() 이후 남아있는 문자열이 있거나 한다면 이 코드로 한번 줄 바꿈을 해 주어서 이전 더미를 없앨 수 있다.
input.nextInt();
sc.close(); : 안 해도 괜찮지만 닫아주는 게 효율적이다.
스캐너로 문자 입력받기는 기본적으로 안된다.
메서드 charAt로 첫 문자를 가져올 수 있다.
1System.out.print("문자입력 : "); String data = sc.next(); char charData = data.charAt(0); //메소드charAt괄호안의 숫자가 문자열의 순서를 가리킨다. System.out.println("입력받은 문자출력 : "+charData); |
출력
System.out.println(“Hello world”);
문자열로 선언 한 뒤에 마지막에 출력을 할 수도 있다.
System.out.println();
단축키 : sysout+ctrl+space
System.out.print("hello 개행 안됨, 입력 : ");
System.out.printf("% d% s\n",10, "문자열");
System.out.println("hello 개\n행 됨");
System.out.println();//줄 개행 용도
'코딩 공부 > Java' 카테고리의 다른 글
메모리 구조와 배열 (0) | 2022.08.18 |
---|---|
JAVA Random (0) | 2022.08.17 |
Java switch case와 반복문 for (0) | 2022.08.15 |
조건문 (0) | 2022.08.14 |
연산자 (0) | 2022.08.13 |