inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

윤재성의 안드로이드를 위한 자바(JAVA) 프로그래밍

표준입출력에서 질문 있습니다.

해결된 질문

256

google_user

작성한 질문수 28

0

강사님 안녕하세요. 좋은강의 잘 듣고 있습니다.

표준 입출력 부분에서 질문이 있어 질문 드리려고 하는데요.

int a1 = System.in.read();

System.out.println("a1 :" + a1);

int a2 = System.in.read();

System.out.println("a2:"+a2);

이 코드를 실행시키고 콘솔창에 ab를 입력하고 나서 엔터키를 눌러야 a1,a2,의 값이 정상적으로 표시가 됬는데요.

1) int a1 = System.in.read(); 이부분이 실행되고 나서

2)System.out.println("a1 :" + a1); 이 부분이 실행되고 

3)int a2 = System.in.read();

4)System.out.println("a2:"+a2);

이러한 순서로 진행 될 줄 알았는데 System.out.println();을 거치지 않고 

값을 모두 입력 받은 후에 출력문이 실행이 되는 것을 알게 되었습니다. 

이 부분에 관해 왜 순서대로 진행되지 않고 

입력을 모두 진행받고 난 후 출력문이 실행이 되는지 알고싶습니다.

좋은 강의 너무너무 감사합니다.

java android

답변 1

1

소프트캠퍼스

사용자가 키보드로 입력된 내용은 모두 메모리에 저장되게 됩니다. 그리고 System.in.read()를 쓰시면 메모리에 저장된 문자 중 처음 한글자를 추출해 반환하게 됩니다.

프로그램 실행시 아직 입력한 내용이 없기 때문에

int a1 = System.in.read(); 를 쓰시면 일시 정지하게 됩니다. 그후 ab를 입력하게 되면 메모리에 ab 그리고 엔터때문에 2개의 글자가 추가로 입력됩니다. 이제 메모리에 입력한 문장이 저장되었기 때문에 앞에 글자 하나를 추출해 a1에 담게 됩니다. 그럼 메모리에는 b와 엔터때문에 추가된 2글자 .. 이렇게 총 3글자가 남게 됩니다. 그후 System.out.println("a1 :" + a1);  가 수행되 출력이 됩니다. 그 다음 System.in.read();가 수행되는데 메모리에 글자가 남아있으므로 새롭게 입력을 받는게 아니라 메모리에 저장된 글자를 추출해서 a2에 담게 됩니다. 그다음 System.out.println("a2:"+a2); 가 수행되게 됩니다.

코드가 모두 입력이 완료되고 출력문이 수행된게 아니라 순서대로 수행된게 맞습니다. 다만 System.in.read()은 사용자가 입력한 내용이 메모리에 저장되어 있으면 거기서 글자를 가져와 반환하고 없다면 입력할 때 까지 대기하고 있다가 입력을 하면 그때 하나를 추출해 반환하는 메서드입니다. 

질문있습니다

0

16

1

1번 문제 질문입니다.

0

20

1

26년 1회 실기 해설 강의

0

31

2

음악플레이어 문제 중 코드질문

0

16

1

잠겨버린 사물함 시간초과 관련 질문입니다.

0

16

1

안녕하세요 예전강의라서 그런지 윈도우10에서는다른걸까요??

0

264

1

예제 소스는 따로 없나요?

0

297

1

입력문

0

274

1

61강 07분쯤 영상이 아예멈춰요

1

276

0

3강 자바 개발환경 구축 질문

0

340

1

51강 2:40~3:05 노이즈로 인해 강의가 안 들립니다

0

239

2

48강 영상과 소리 싱크가 맞지 않아요

0

334

4

9:36분부터 강의자료 음성 끊깁니다.

0

243

1

맥북에서 java 파일로 저장하기 위해 '모든파일' 이라는 파일형식은 어떻게 하나요?

0

397

1

3강 동영상이 오류가 있는것 같습니다.

0

318

3

cmd 창에 java NetWorkServer를 입력했는데 아무 변화가 없어요

0

320

1

TwoByteStream2.java

0

253

1

TwoByteStream

0

339

2

thread

0

331

4

파일 인풋스트림에서 질문 있습니다.

0

288

1

파일 x표시

0

355

1

강의 자료 질문드립니다~

0

404

2

혹시...

0

410

1

맥북프로 자바 설치

0

162

1