본문 바로가기

코딩 공부/Java

자바 콘솔 입 출력

입력

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