JAVA: 282개의 글
NumberFormat 클래스 NumberFormat 클래스는 수에 대한 포괄적인 포맷 기능을 제공한다. NumberFormat 클래스는 정적 메소드이므로 new 연산자를 사용하여 객체를 호출하지 않는다. static NumberFormat getCurrencyInstance()현재 지역의 화폐 양식을 나타내는 NumberFormat 객체를 반환한다. static NumberFormat getPercentInstance()현재 지역의 백분율 양식을 나타내는 NumberFormat 객체를 반환한다. getCurrencyInstance() 메소드는 화폐 값을 편집하는 format 객체를 반환하고, getPercentInstance() 메소드는 백분율을 편집하는 format 객체를 반환한다. 숫자는 forma..
Math 클래스 Math 클래스는 흔히계산을 하는데 도움이 되는 많은 수의 기본적 수학 함수들을 제공한다. Math 클래스는 Java 표준 클래스 라이브러리의 java.lang 패키지에 정의되어 있다. Math 클래스의 모든 메소드들은 정적 메소드(static method)로 클래스의 객체를 생성하지 않고 그 메소드가 정의된 클래스 이름을 통해서 호출될 수 있다. * Math 클래스의 메소드 static int abs(int num) num의 절대 값을 반환한다. static double acos(double num) num의 arc cosine을 반환한다. static double asin(double num) num의 arc sine을 반환한다. static double atan(double num)..
Random 클래스에 대해서 소프트웨어를 개발할 때 난수(random number)에 대한 필요성은 빈번히 발생한다. 특히 게임은 주사위를 던지거나 카드를 섞을 때 난수를 사용한다. java.util 패키지의 일부인 Random 클래스는 의사난수 발생기(Pseudorandom number generator)이다. Random 클래스는 일정 범위의 값들에서 한 개의 수를 임의로 선택한다. * Random 클래스의 method Random() 구성자 : 새로운 랜덤 발생기를 생성한다. float nextFloat() 0.0(값 포함)과 1.0(값 포함하지 않음) 사이의 난수를 반환한다. int nextInt() 가능한 모든 int 값(양수와 음수)에 걸친 범위의 난수를 반환한다. int nextInt(int..
String 클래스에 대해서 String 객체는 문자열을 사용하는데 가장 많이 사용하는 클래스이다. String 클래스에 대해 자세히 보도록 하자. 일단 String 객체가 하나 생성되면, 그 값은 길어지거나 줄어들 수 없으며, 그 문자들 중 어떤 것도 바뀔 수 없다. 그래서 String 객체는 변경불능(immutable)이라고 한다. 하지만 String 클래스의 함수(Method)를 사용하여 String 결과를 수정한 결과를 새로운 String 객체로 반환한다. String 클래스의 자주 사용하는 함수(Method) 몇개를 살펴 보자. 함수반환형 설명 charAt(int index)char index로 지정된 첨자 위치에 있는 문자를 반환한다. compareTo(String str) int 이 Stri..
문자열 입력과 출력 (Scanner) 처음 프로그래밍 언어를 공부할 때, C 언어를 많이 공부할 것이다. 그때 가장 먼저 배우는 것이 printf() 이고, 문자열을 입력받는 scanf() 이다. 알고리즘을 공부할때도 printf() 와 scanf() 를 많이 사용한다. 그럼 자바에서는 C 언어의 printf() 와 scanf()는 무엇일까? 문자열을 출력하는 명령은 System.out.println(); 을 사용하고, 문자열을 키보드로 입력받을 때는 System.in 을 사용한다. 하지만 입력받은 문자열을 읽고 처리하기 위해서 Scanner 클래스에 담아서 처리한다. Scanner 클래스는 표준 Java 클래스 라이브러리에 속하며, 다양한 타입의 입력 값들을 읽어들이기 위한 편리한 방법을 제공한다. S..
기본 데이터 타입과 변환 1. 기본 데이터 타입 JAVA에는 8개의 기본 데이터 타입(primitive data types)이 있다. 정수 타입 : byte, short, int, long부동 소수점 타입 : float, double부울 데이터 타입 : boolean문자 데이터 타입 : char (1) 정수와 부동 소수점 byte 는 8비트로, 0과 1을 표현하는 1 비트의 8자리이다. 1 byte 는 128가지() 다른 데이터를 가질 수 있다. 등호를 포함하게되면 1 byte의 범위는 -128 ~ 127 이다. 타입기억장소 최소값 최대값 byte 8 비트 -128 127 short 16 비트 -32,768 32767 int 32 비트 -2,147,483,648 2,147,483,647 long64 비트..
이클립스(eclipse) 설치 및 셋팅 JAVA 개발의 보편적인 툴 Eclipse 를 설치하고 셋팅해보자. 설치 일시 : 2013.11.01설치 버전 : Eclipse Kepler 이클립스는 이클립스 홈페이지에 가서 다운 받을 수 있다. http://www.eclipse.org/ 이클립스 홈페이지에 들어가면 오른쪽에 다운로드 배너가 있다. 이클립스 다운로드 페이지 이다. 여러가지 툴이 있지만, 기본적으로 Eclipse IDE for Java EE Developers 를 설치하는게 좋다. 다른 버전들은 가볍기는 하지만 종종 필요한 기능이 없어서 난감할 때가 있다. (플러그인을 찾아서 설치하면 되지만 귀찮은 일이다.) 자신의 PC 환경에 맞게 버전을 설치하면 된다. 여기서는 Windows 32 Bit를 설치..
jdk 설치 환경변수 설정 JAVA 프로그램을 개발하기 위해서는 JAVA 개발 툴인 JDK 와 JVM(Java Virtual Machine)을 지원하는 Jre 를 설치하고 셋팅해야 한다. JDK 와 JRE 를 다운 및 설치부터 환경변수 설정까지 순서대로 따라가보자. 설치 및 셋팅 일시 : 2013.11.01JDK Version : jdk1.7.0_45 (현재 일자 최신 버전) JDK 는 자바 홈페이지에서 다운 받을 수 있다. http://www.oracle.com/technetwork/java/index.html 홈페이지에 들어가면 아래 화면에서 Java Downloads 를 클릭한다. Java 다운로드 버튼을 클릭한다. 현재 최신버전은 JDK 7u45 이다. Accept License Agreement..
Externalizable 인터페이스 Externalizable 인터페이스는 Serializable 인터페이스를 확장한 형태로 세부적인 필드를 직접 제어할 수 있는 트정이 있다. transient 키워드를 사용하여 특정 필드를 제외시키는 것도 가능하지만 좀 더 세부적인 작업이 필요할 때 Externalizable 인터페이스를 사용할 수 있다. [JAVA/Java IO] - [JAVA] Serializable 과 transient 1. Externalizable 인터페이스 Externalizable 인터페이스를 사용하면 객체 스트림을 통하여 객체를 읽고 쓸 때 내부의 내용을 자유롭게 조작하면서 원하는 내용을 출력할 수 있도록 도와준다. 이를 위해서 이 인터페이스는 Serializable 인터페이스를 확장하..
Serializable 과 transient (1) Serializable 데이터를 파일에 쓰거나, 네트워크를 타고 다른 곳에 전송할 때는 데이터를 바이트 단위로 분해하여 순차적으로 보내야 한다. 이것을 직렬화(Serialization)라고 한다. 기본 자료형(boolean, char, byte, short, int ,long, float, double)은 정해진 바이트의 변수이기 때문에 바이트 단위로 분해하여 전송한 후 다시 조립하는데 문제가 없다. 하지만 객체의 크기는 가변적이며, 객체를 구성하는 자료형들의 종류와 수에 따라 객체의 크기는 다양하게 바뀔 수 있다. 이런 객체를 직렬화 하기 위해서 Serializable 인터페이스를 구현하게 된다. [JAVA] 객체 직렬화 ObjectInputStrea..