IT story/Java

D+17 Input Output(입, 출력)

jason719 2016. 8. 29. 18:16

2016.08.29. Mon. 열일곱 번째 수업!


 あっという間に授業始めてから二十日経ちました。時間経つの早いですね。

天気も秋に近くなって涼しくなったしこれからも勉強頑張りますね!

21に受けた試験の結果はまだ出てないけど、サイトで発表された答えと合わせたら

合格の点数はとった気がします。

今日から12日間は午前の3時間は資格の授業になりました。アルゴリズムについて

勉強したのですが、先生がわかりやすく説明してくれてすぐ理解できたし、アルゴリズムって

面白いなと思いました。あと5週間くらいしたら資格の最後の試験なので、5週間頑張って

一気に資格とりますね!


오늘의 수업내용 

Read에 대한 이해(L01Read(int), L02ReadLine(String))

Serial Input과 Serial Output 


1. L01Read (int)

  • Console에 text를 입력하고 Read()로 읽어 바로 출력한다. 
  • System.in() ☞ Console에서 입력 받는 것을 말한다.
  • System.in.read(); ☞Console에 입력 받은 것을 읽어 오는 기능. (하지만, 하나씩만 읽을 수 있다.) 

 이유: 입력(Input) or 출력(OutPut)가 발생할 때 IO의 전송을 위해 데이터를 쪼개고 변형하기 때문이다.

예) 문자열 ☞ 문자(아스키코드)


입력한 문자를 전부 출력하기 위해 while문을 사용했고, 조건으로는 enter값인 13을 주었다. 

read()는 출력할 문자가 없을 때 -1을 반환한다고 한다. 그래서 조건으로 -1을 주면 enter의 

아스키코드 값이 반환되기 때문에 입력한 문자만 출력하기 위해 enter값인 13을 조건으로 주었다.

아래와 같이 실행 했을 때 알파벳을 입력하면 아스키코드값이 출력된다. enter값인  13의 반환여부를

보기 위해 형변환을 하지 않았고, 입력한 대로 출력하고 싶을 때는 형변환을 하면 된다!

System.out.print((char)input); ☜ 문자열을 출력하기 위한 형변환!


 아래의 예제를 살펴보자.

package com.javalesson.ch17input_output;


import java.io.IOException;


public class L01Read {

public static void main(String[] args) {

int input;

try{

while((input = System.in.read()) != 13){

System.out.print(input);

}

}catch(IOException e){}

}//main

}//class


2. L02ReadLine (String)

이번 클래스에서는 문자열을 입력하고 받기 위한 방법을 배워봤다. 
strream과 buffer를 이용해 문자열을 직렬화하고 임시저장하는 것에 대한 이해이다.

아래의 예제를 살펴보자.

package com.javalesson.ch17input_output;


import java.io.InputStreamReader;

import java.io.BufferedReader;

import java.io.IOException;


public class L02ReadLine {

public static void main(String[] args) {


InputStreamReader isr = null;

BufferedReader br = null;

try{

isr = new InputStreamReader(System.in); //실제로 입력이 이뤄지지 않는다.(보조)

br = new BufferedReader(isr);

String line = "";

int i=0;

while((line = br.readLine())!=null){ //입력이 발생

i++;

System.out.println(i+":"+line);

}

}catch(IOException e){}

}//main

}//class


오늘부터 정보처리 시험대비 수업이 신설되어 12일간 하루 3시간씩 수업을 한다. 

그리하여 자바 수업은 하루 2시간만 진행되어 수업 내용이 조금 짧은 감이 있다. 

과제로는 input_output으로 파일을 생성하고, 저장 및 불러오기에 대한 내용이다.

내일 과제 제출 후 포스팅 하겠다.

'IT story > Java' 카테고리의 다른 글

D+18 InnerClass  (0) 2016.08.31
D+17 SerialOut & SerialInput  (0) 2016.08.30
D+16 Exception(예외처리) Throws  (0) 2016.08.27
D+16 Project(영화관 좌석 예약시스템)  (0) 2016.08.27
D+15 Project(숫자 맞추게 게임)  (0) 2016.08.26