본문 바로가기

프로그래밍86

1부터 1000까지의 소수를 출력하는 자바 코드 1부터 1000까지의 소수를 출력 소수 : 1과 자기 자신을 약수로 갖는 수 예) 2는 1와 2를 약수로 갖는다. 3 => 1,3 -> 소수 4 => 1,2,4 -> 소수가 아니다. 5 =>1,5 -> 소수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package project1; /* * 1부터 1000사이에 존재하는 소수를 출력 */ public class PrimeNumber //PrimeNumber 클래스 선언 { public static void main(String[] args) //main 메소드 선언 { PrimeNumber p1 = new PrimeNumber(); //PrimeNu.. 2017. 9. 19.
자바 native 키워드 public native int hashcode(); native는 자바가 아닌 언어(보통 C나 C++)로 구현한 후 자바에서 사용하려고 할 때 이용하는 키워드이다. 자바로 구현하기 까다로운 것을 다른 언어로 구현해서, 자바에서 사용하기 위한 방법이다. 구현할때 JNI(Java Native Interface)를 사용한다 예전 자바는 c로 작성한 코드를 자바에서 구동시키는 형태로 사용했었다. 지금은 많이 바뀌어서 자바에서 코드를 작성하고 구동시킨다. 그러나 hashcode 처럼 아직 native 키워드를 사용하는 것들이 남아 있기도 하다. 설명이 부족한 부분은 없으셨나요? 댓글이나 이메일로 질문해주시면 답변 드리겠습니다. 감사합니다. 이메일 : forsqna@gmail.com 2017. 9. 18.
Arraylist , Vector , Object[] , Hashmap , Treemap 중에서 어떤 것을 선택 할 것인가? 성능의 관점은 3가지 정도로 나눠야 합니다. - 저장시간(insert time) - 검색시간(seek time) - 읽는 시간(read time) 각 컬렉션 클래스들은 위의 관점에 대해서 장단점을 가지고 있습니다. Hash계열(Hashtable, HashMap)이 검색에서는 제일 빠릅니다. 대신 저장시간은 제일 오래걸립니다.(전화번호부와 같이 검색이 중요한 곳에서는 유리하고, 증권시스템같이 동시에 많은 수의 데이터를 처리해야하는 경우에는 불리하겠죠.) TreeMap과 같은 Sorted계열은 저장시간은 Hash계열보다 빠르고, 검색시간은 Hash계열보다 조금 느린 저장과 검색에 균형잡힌 성능을 제공합니다. TreeMap은 정렬된 상태로 데이터를 저장하기 때문에, 범위검색(Range Search)기능을 제공.. 2017. 9. 18.
자바 알고리즘의 캡슐화 / 템플릿 메소드 패턴 자바로 알고리즘을 구현 해야 할때 캡슐화의 개념을 사용하면 코드를 작성하는데 도움이 된다. ●캡슐화 : 관련 있는 메소드나 변수들을 하나의 클래스로 묶는 것. 예제) 만약 사람을 자바 프로그램으로 모델링 한다면 사람이 하는 행동인 잠자다 숨쉬다 밥먹다 메소드 들을 사람 클래스 안에 하나로 묶어놓는다. 사람의 키 몸무게와 같은 변수들도 사람 클래스 안에 같이 들어가게 된다. 이렇게 키, 몸무게라는 변수 잠자다 , 숨쉬다 , 밥먹다 라는 메소드 들을 사람 클래스 안에 구현하고 묶는 것을 캡슐화 라고 한다. ●템플릿 메소드 패턴 템플릿은 보통 뭔가를 계속해서 그려내거나 만들어 낼 수 있는 틀을 말한다. 템플릿 메소드 패턴 : 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘.. 2017. 9. 17.
자바 벡터 Vector() 클래스 , Vector 사용하는 방법 자바에서 배열은 길이가 고정되어 있습니다. 따라서 배열이 한 번 생성되면 배열의 길이를 증가 시키거나 감소 시킬 수 없습니다. 프로그램 내에서 사용할 배열의 크기를 미리 예측하는 것은 쉽지 않습니다. 자바에서는 동적인 길이로 여러 데이터 형을 저장하기 위해서 Vector 클래스를 제공합니다. Vetor는 가변길이 배열이라고 생각하시면 됩니다. Vector class 는 Arraylist와 생김새가 유사하다. 설명이 부족한 부분은 없으셨나요? 댓글이나 이메일로 질문해주시면 답변 드리겠습니다. 감사합니다. 이메일 : forsqna@gmail.com 2017. 9. 17.