a.txt 파일을 리소스 파일을 가져오기 위해서는 문자단위스트림을 할지, 바이트단위스트림을 할 지 고려해야한다. 이 파일의 경우에 한글이 섞여 있을 수 있기때문에 문자단위스트림으로 노드스트림을 결정하였다. 바이트 기반 스트림은 그림, 멀티미디어, 문자등 모든 종류의 데이터를 받고 보낼 수 있다. 그렇지만 한글의 경우에는 한글자당 3바이트가 차지하기 때문에 문자단위 스트림을 사용하는 것이 더 효율적인 방법이 된다. Reader은 문자기반입력 스트림의 최상위 클래스이다. 자원을 사용할 때 우선적으로 리소스를 결정해야 한다. 1. 리스소결정 : a.txt파일 2. 노드스트림결정: FileIOTest- 문자단위스트림(한글값이 있을수 있기때문에 import java.io.FileNotFoundException; ..
java
프로그램에서는 데이터를 외부에서 읽고 다시 외부로 출력하는 작업이 많이 이루어진다. 데이터는 사용자로부터 키보드를 통해 입력될 수 도있고, 파일 또는 네트워크로부터 입력될 수 도 있다. 데이터는 반대로 모니터로 출력될 수도 있고, 파일로 출력되어 저장될 수도 있으며 네트워크로 출력되어 전송될 수도 있다. 입력스트림과 출력 스트림 프로그램을 기준으로 들어오는 것을 입력스트림 , 나가는 것을 출력스트림이라고 한다. 입력스트림의 출발지는 키보드, 파일, 네트워크상의 프로그램이 될 수 있고, 출력스트림의 도착지는 모니터, 파일, 네트워크상의 프로그램이 될 수 있다. 프로그램이 네트워크상의 다른 프로그램과 데이터 교환을 하기 위해서는 양쪽 모두 입력 스트림과 출력 스트림이 따로 필요하다. 스트림의 특성이 단방향이..
배열은 동일 자료형의 데이터 묶음이며 쉽게 생성하고 사용할 수 있지만, 저장할 수 있는 객체 수가 배열을 생성할 때 결정되기 떄문에 불특정 다수의 객체를 저장하기에는 문제가 있다. 또한 자료처리에 불편함이 있다. 추가,삭제,수정 기능이 제공이 되지 않아 개발자가 직접 구현을 해야 한다. 이러한 배열의 문제점을 해결하고 객체들을 효율적으로 추가, 삭제, 검색 할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜 놓았다. 이것을 총칭해서 컬렉션 프레임워크라고 부른다. 컬렉션 프레임워크: 다른 자료형도 묶음(참조형만) 이 가능하며 크기가 가변적이다. 또한 자료처리가 편리하여 추가기능, 삭제기능, 수정기능제공이 된다. List - 인덱스가 제공, 중복저장허용, 저장순서 유지 ..
java.lang 과 java.utill 패키지 java.lang 패키지는 자바 프로그램의 기본적인 클래스를 담고 있는 패키지이다. 패키지에 있는 클래스와 인터페이스는 import 없이 사용할 수 있다. java.lang 클래스 용도 Object - 자바클래스의 최상위 클래스로 사용 System -표준 입력장치(키보드)로부터 데이터를 입력받을 때 사용 - 표준 출력 장치(모니터)로 출력하기 위해 사용 -자바 가상기계를 종료시킬 때 사용 -쓰레기 수집기를 실행 요청할 때 사용 Class -클래스를 메모리로 로딩할 때 사용 String -문자열을 저장하고 여러 가지 정보를 얻을 때 사용 StringBuffer,StringBuilder -문자열을 저장하고 내부 문자열을 조작할 때 사용 Math - 수학 함수를..
예외 처리 코드 프로그램에서 예외가 발생했을 경우 프로그램의 갑작스러운 종료를 막고, 정상 실행을 유지할 수 있도록 처리하는 코드를 예외 처리 코드라고 한다. 자바 컴파일러는 소스파일을 컴파일 할 때 일반 예외가 발생할 가능성이 있는 코드를 발견하면 컴파일오를 발생시킨다. 그렇기 때문에 예외 처리코드를 작성해야한다. 예외처리 코드는 try - catch - finally 블럭을 이용한다. 생성자 내부와 메서드 내부에서 작성되어 일반 예외와 실행예외가 발생할 경우 예외 처리를 할 수 있도록 해준다. try{ 예외 발생 가능 코드 } catch(예외클래스 e) { 예외 처리 } finally { 항상 실행; } try 블럭에는 예외 발생 가능 코드가 위치한다. try 블럭의 코드가 예외 발생없이 정상 실행되..
반복문 반복문은 어떤 작업이 반복적으로 실행되도록 할 때 사용되며, 반복문의 종류로는 for문, while문, do-while문이 있다. for문은 반복 횟수를 알고 있을 때 주로 사용하고, while문은 조건에 따라 반복할 때 주로 사용한다. while문과 do-while문의 차이점은 조건을 먼저 검사하느냐 나중에 검사하느냐일 뿐 동작 방식은 동일하다. int Num = 0; Num++; //1 Num++;//2 Num++;//3 System.out.println(Num); 똑같은 실행문을 반복적으로 실행할 경우가 있다. 위에 코드는 1~3까지의 합을 구하는 것으로 작성되어 있다. 하지만 구하는 값이 커진다면 코드양이 엄청 늘어나게 된다. for문 int sum = 0; for(int i = 1; i ..
예외와 예외 클래스 자바에서는 에러 이외에 예외(exception) 라고 부르는 오류가 있다. 예외란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 말한다. 예외가 발생되면 프로그램은 곧바로 종료된다는 점에서는 에러가 동일하다. 그러나 예외는 예외처리(Exceptoin Handling)를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. 자바에서는 예외를 클래스로 관리한다. JVM은 프로그램을 실행하는 도중에 예외가 발생하면 해당 예외 클래스로 객체를 생성한다. 그리고 나서 예외 처리 코드에서 예외 객체를 이용할 수 있도록 해준다. 예외는 두 가지 종류가 있다. 하나는 일반예외(Exception) 이고, 다른 하나는 실행 예외( Runtime E..
1. 코드 실행 흐름 제어 2. 조건문 ( if문, switch문) 코드 실행 흐름 제어 자바 프로그램을 시작하면 main() 메서드의 시작 중괄호에서 끝 중괄호까지 위에서 아래로 실행하는 흐름을 가지고 있다. 이러한 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것이 제어문이다. 제어문의 종류는 조건문과 반복문이 있다. 조건문에는 if문, switch문이 있고 반복문에는 for문, while문, do-while문이 있다. if문 조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나, boolean 변수가 올 수 있다. 조건식이 true이면 블럭을 실행하고 false이면 블럭을 실행하지 않는다. if(조건식) { // 조건식이 참(true)일 때 수행될 문장들을 적는다. } ..