분류 전체보기 127

Format 클래스

정수 세 자리마다 쉼표(,)를 넣고 싶다면 어떻게 해야할까? 정수를 문자열로 변환한 다음 세자리, 씩 끊어서 쉼표를 넣을수있을것이다. 이작업은 코드가 지저분해진다 많은 수의 점수를 리스트화해서 출력할때 소수점 한자리로 일정하게 맞추어 출력하려면 어떻게 해야할까? 각점수에 10을 곱해서 정수화 하고, 다시 10.0 으로 나누어 소주점 한자리로 만드러야 한다 이작업도 코드가 지저분해보인다 날짜 역시 원하는 문자열로 출력하기 위해서는 Calendar로부터 년, 월, 일 , 시 ,분, 초 를 얻어 원하는 문자열로 조합하는 과정을 거쳐야한다. 자바 에서는 이러한 문제들을쉽게 해결할 수있는 방법을 제공 -> 형식 클래스 java.text 패키지에 포함되어있다 숫자 형식을 위해 DecimalFormat 날짜형식을 위..

Date, Calender 클래스

날짜는 프로그램에서 자수 사용되는 데이터 Date 와 Calendar 클래스가 날짜 및 시각을 읽을 수 있도록 제공 이 두클래스는 모두 java.util 패키지에 포함 Date 클래스 Date는 날짜를 표현하는 클래스 Date 클래스는 객체간에 날짜 정보를 주고 받을때 주로 사용 Date 클래스에는 여러개의 생성자가 선언되어 있지만 대부분 Deprecated 되어 현재는 Date () 생성자만 주로 사용 Date now = new Date(); 현재 날자를 문자열로 얻고 싶다면 toString() 메소드를 사용 toString() 메소드는 영문으로 된 날짜를 리턴하는데 만약 특정 문자열로 포맷으로 얻고 싶다면 java.text.SimpleDateFomat 클래스를 이용 public class DateEx..

Math, Random 클래스

Math 클래스 java.lang.Math 클래스는 수학계산에 사용할 수 있는 메소드를 제공 Math 클래스가 제공하는 메소드는 모두 정적 (Static) 이므로 Math 클래스로 바로 사용이 가능 메소드 설명 예제 코드 리턴값 int abs(int a) double abs(dobule a) 절대값 int v1 = Math.abs(-5); double v2 =Math.abs(-3.14); v1 = 5 v2 = 3.14 double ceil(double a) 올림값 double v3 = Math.ceil(5.3); double v4 = Math.ceil(-5.3); v3 = 6.0 v4 = -5.0 double floor(double a) 버림값 double v5 = Math.floor(5.3); doub..

Wrapper(포장) 클래스

자바는 기본타입 (byte, char, short, int, long, float, double, boolean) 의 값을 갖는 객체를 생성 이런 객체를 포장(Wrapper) 객체 기본 타입의 값을 내부에 두고 포장하기 때문 포장 객체의 특징은 포장하고 있는 기본 타입 값은 외부에서 변경할수 없다 내부의 값을 변경하고 싶다면 새로운 포장객체를 만들어야 함 java.lang 패키지에 포함 기본 타입 포장 클래스 byte Byte char Character short Short int Integer long Long float Float double Double boolean Boolean 박싱(Boxing)과 언박싱(Unboxing) 기본 타입의 값을 포장 객체로 만드는 과정을 박싱(Boxing) 포장 객..

Array 클래스

Arrays 클래스는 배열 조작 기능을 가지고 있다. 배열 조작이란 배열의 복사, 항목 정렬, 항목 검색 과 같은 기능을 말한다 단순한 배열 복사는 System.arraycopy() 메소드를 사용할수 있으나 Arrays 는 추가적으로 항목 정렬, 항목 검색, 항목 비교와 같은 기능을 제공해준다 Arrays 클래스는 모든 메소드는 정척(Static)이므로 Arrays 클래스로 바로 사용이 가능 리턴 타입 메소드 이름 설명 int binarySearch(배열, 찾는값) 전체 배열 항목에서 찾는 값이 있는 인덱스 리턴 타겟 배열 copyOf(원본배열, 복사할 길이) 원본 배열의 0번 인덱스에서 복사할 길이만큼 복사할 배열 리턴, 복사할 길이는 원본 배열의 길이보다 커도 되며, 타겟 배열의 길이가 된다. 타겟 ..

정규 표현식과 Pattern 클래스

문자열이 정해져 있는 형식(정규 표현식: Regular Expression) 으로 구성되어 있는지 검증해야하는 경우가 있다 정규 표현식 작성 방법 java.util.regex.Pattern 클래스를 찾아 Summary of regular - expression constructs 참조 정규표현식은 문자 또는 숫자 기호와 반복기호가 결합된 문자열 기호 설명 [] 한개의문자 [abc] a,b,c 중 하나의 문자 [^abc] a,b.c 이외의 하나의 문자 [a-zA-Z] a~z, A~Z 중 하나의 문자 \d 한 개의 숫자 [0-9]와 동일 \s 공백 \w 한 개의 알파벳 또는 한개의 숫자 [a-zA-Z_0-9] 와 동일 ? 없을 또는 한개 * 없음 또는 한개 이상 + 한 개 이상 {n} 정확히 n개 {n.} ..

StringBuffer, StringBuilder 클래스

문자열을 저장하는 String은 내부의 문자열을 수정할 수 없다. 예를 들어 String의 resplace() 메소드는 내부의 문자를 대치하는 것이 아나라 대치된 새로운 문자열을 리턴, String 객체를 + 연산할 경우도 마찬가지 -> 문자열을 결합하는 + 연산자를 많이 사용하면 할수록 그만큼 String 객체의 수가 늘어나기 때문 프로그램 성능을 느리게 하는 요인이 된다 문자열을 변경하는 작업이 많을 경우에는 String 클래스를 사용하는 것 보다 java.lang 패키지의 StringBuffer, StirngBuilder 클래스를 사용 내부 버퍼(buffer : 데이터를 임시로 저장하는 메모리) 에 문자열을 저장 추가, 수정, 삭제 작업을 할수 있도록 설계 String 처럼 새로운 객체를 만들지 않..

StringTokenizer 클래스

문자열이 특정 구분자(delimiter)로 연결 되어 있을 경우, 구분자를 기준으로 부분 문자열을 분리 하기 위해서는 String의 split() 메소드를 이용하거나, java.util 패키지의 StringTokenizer 클래스를 이용 split() 은 정규 표현식으로 구분, StringTokenizer는 문자로 구분 Split() 메소드 String 클래스의 split()메소드는 다음과 같이 호출 정규 표현식을 구분자로 해서 문자열을 분리한 후 , 배열에 저장하고 리턴 String[] result = "문자열".split("정규표현식"); ex) &, 쉼표(,) , -를 제외하고 따로 뽑아내고 싶을 경우 파이프(|) 기호로 연결한 정규 표현식을 매개값으로 제공 String[] names = text...

String 클래스

문자열은 데이터로서 아주 많이 사용 문자열을 생성, 추출 비교, 찾기, 분리, 변환 을 제공하는 메소드를 잘 익혀두어야함 String 생성자 java 문자열은 java.lang. 패키지의 String 클래스의 인스턴스로 관리 소스상에서 문자열 리터럴은 String 객체로 자동 생성 String 클래스의 다양한 생성자를 이용해서 직접 String 객체를 생성 String 클래스는 Deprecated(비권장)된 생성자를 제외하고 약 13개의 생성자 제공 *Deprecated 예전 자바 버전에서는 사용되었으나, 현재버전과 차후 버전에서 사용하지 말라는 뜻 어떤 생성자를 이용해서 String 객체를 생성할지는 제공되는 매개값의 타입에 달려 있다 다음은 사용 빈도수가 높은 생성자 파일의 내용을 읽거나, 네트워크를..

Class 클래스

클래스와 인터페이스의 메타 데이터를 java.lang 패키지에 소속된 Class 클래스로 관리 *메타 데이터란 클래스의 이름, 생성자 정보, 필드 정보, 메소드 정보를 말함 Class 객체 얻기 (getClass(), forName()) 프로그램에서 Class 객체를 얻기 위해서는 Object 클래스가 가지고 있는 geeClass() 메소드를 이용하면 된다 Class class = obj.getClass() getClass() 메소드는 해당 클래스로 객체를 생성했을 때만 사용 객체를 생성하기 전 직접 Class 객체를 얻을 수 잇다. Class는 생성자를 감추고 있기 때문에 new 연산자로 객체를 만들수 없다 정적 메소드인 forName()을 이용 forName() 메소드는 클래스 전체이름(패키지가 포함..