Java
[자바] BufferReader 와 BufferWriter
백준 문제를 푸는데 Scanner로 입력을 하니 시간초과라 떠서 찾아보니 BufferReader 와 BufferWriter을 사욜하면 된다고 하더라. 그럼 BufferReader 와 BufferWrite가 뭔지 알아보자. BufferReader 와 BufferWriter BufferReader 와 BufferWrite 는 이름처럼 버퍼를 이용해서 읽고 쓰는 함수이다. 이 함수는 버퍼를 이용하기 때문에 이용하면 입출력의 효율이 비교할수 없을 정도로 좋아진다. 한 번 거쳐가는데 왜 더 빠른가?? 하드디스크 속도는 원래 매우 느리다. 하드 뿐 아니라 키보드나 모니터와 같은 외부장치와의 데이터 입출력은 생각보다 시간이 걸리는 작업이다. 버퍼링 없이 키보드가 눌릴 때마다 눌린 문자의 정보를 목적지로 바로 이동시키..
[자바] 향상된 for문
장점 간편하고 가독성 좋은 코드 배열 인덱스 문제 해결 단점 인덱스를 사용하지 못한다.(일반 for문의 int i =0; 할 때 i 같은 인덱스를 말한다) 하지만 방법이 있다. 2. 배열이나 ArrayList 값을 사용할 순 있지만 수정할 수는 없다. 문법 for(자료형 변수명 : 배열명){ 문장 }예제) char[] alphabets = new char[26]; char ch = 'A'; for (int i = 0; i < alphabets.length ; i++) { alphabets[i] = ch++; } for ( char alpha : alphabets){ System.out.println(alpha + "," + (int)alpha); } } }결과 A,65 B,66 C,67 ~..
[자바] 배열(array)
배열이란? 동일한 자료형의 순차적 자료 구조 인덱스 연산자[]를 이용하여 빠른 참조가 가능 물리적 위치와 논리적 위치가 동일 배열의 순서는 0부터 시작 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 배열 선언과 초기화 배열 선언하기 int[] arr1 = new int[10]; int arr2[] = new int[10]; 배열 초기화 하기 배열은 선언과 동시에 자료형에 따라 초기화 됨 (정수는 0, 실수는 0.0, 객체는 null) 필요에 따라 초기값을 지정할 수 있음 int\[\] numbers = new int\[\] {10, 20, 30}; //개수 생략해야 함 int\[\] numbers = {10, 20, 30}; // new int\[\] 생략 가능 int\[\] ids; i..
[자바] hasNext() 와 next() 메서드의 차이는???
hasNext()는 boolean 타입으로 반환된다. 즉 "True or False"로 반환된다. 다음에 읽어올 요소가 있으면 True, 없으면 False이다다. 하지만 next()는 "매개변수 혹은 iterator 되는 타입"으로 반환된다. 즉 아무 타입으로 반환할 수 있다. Iterator에 입력된 값들이 String이면 String 값으로 가져오는 것이다. 만약에 1,2,3,4,5 라는 숫자들이 저장되어 있는 배열을 Iterator 인터페이스로 가지고 올 때. hasNext()는 "True or False"를 나타내겠지만, next()는 "숫자 값"들을 가지고 온다. hasNext() boolean 타입 반환 True or False next() iterator의 다음 요소 값 반환 즉 아무 타입 가능