JAVA- API

2022. 3. 7. 16:37·Programing/JAVA
목차
  1. java.lang 패키지
  2. Object class
  3. System 클래스
  4. Class 클래스
  5. String 클래스
  6. StringBuffer
  7. Math 클래스
  8. Wrapper 클래스
  9. java.util 패키지
  10. Random 클래스
  11. Date 클래스
  12. Calendar 클래스
  13. java.text 패키지
  14. DecimalFormat 클래스
  15. SimpleDateFormat
  16. java.util.regex 패키지
  • 자바 JDK 설치시 제공하는 API

java.lang 패키지

  • import 없이 사용, 컴파일시 자동 추가됨

Object class

  • 모든 클래스의 최상위 클래스
  • 상속 받지 않은 클래스는 모두 Object 클래스를 상속 받음
  • 기본적으로 11개의 메서드를 가지고 있음

equals() 메서드

  • 주소 체크
  • 값 체크를 위해서는 재정의 해서 사용
package chapter12;

public class EqualsEx {

    public static void main(String[] args) {
        Obj obj1 = new Obj(100);
        Obj obj2 = new Obj(100);

        if (obj1 == obj2) {
            System.out.println("obj1 객체와 obj2 객체는 같음");
        } else {
            System.out.println("obj1 객체와 obj2 객체는 다름");
        }

        if (obj1.equals(obj2)) {
            System.out.println("obj1 객체와 obj2 객체는 같음");
        } else {
            System.out.println("obj1 객체와 obj2 객체는 다름");
        }

        Obj obj3 = obj1;

        if (obj1 == obj3) {
            System.out.println("obj1 객체와 obj3 객체는 같음");
        } else {
            System.out.println("obj1 객체와 obj3 객체는 다름");
        }

        if (obj1.equals(obj3)) {
            System.out.println("obj1 객체와 obj3 객체는 같음");
        } else {
            System.out.println("obj1 객체와 obj3 객체는 다름");
        }

        ObjOverride objo1 = new ObjOverride(100);
        ObjOverride objo2 = new ObjOverride(200);

        if (objo1.equals(objo2)) {
            System.out.println("objo1 객체와 objo2 객체는 같음");
        } else {
            System.out.println("objo1 객체와 objo2 객체는 다름");
        }
    }
}

class Obj extends Object{
    int obj_var;

    Obj(int obj_var) {
        this.obj_var = obj_var;
    }
}

class ObjOverride {
    int obj_var;

    ObjOverride(int obj_var) {
        this.obj_var = obj_var;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj instanceof ObjOverride) {
            ObjOverride oo = (ObjOverride)obj;
            if(this.obj_var == oo.obj_var) {
                return true;
            }else {

                return false;
            }
        } else {
            return false;
        }
    }
}

String class

  • equals() 는 이미 재정의되어 있음
package chapter12;

public class EqualsEx2 {

    public static void main(String[] args) {

        String str1 = new String("abc");
        String str2 = new String("abc");

        if(str1 == str2) {
            System.out.println("str1 객체와 str2 객체는 같음");
        } else {
            System.out.println("str1 객체와 str2 객체는 다름");
        }

        if(str1.equals(str2)) {
            System.out.println("str1 문자열과 str2 문자열은 같음");
        } else {
            System.out.println("str1문자열과  str2 문자열은 다름");
        }

    }

}
  • hashCode() 도 문자열이 값이 같으면 동일한 해시값 리턴
  • 실제 해시값은 System.identityHashCode() 확인 가능
package chapter12;

public class HahsCodeEx {

    public static void main(String[] args) {

        String str1 = new String( "abc");
        String str2 = new String( "abc");
        System.out.println("str1.hashCode():"+str1.hashCode()) ;
        System.out.println("str2.hashCode():"+str2.hashCode()) ;
        System.out.println("System.identityHashCode(str1):"+
                            System.identityHashCode(str1)) ;
        System.out.println("System.identityHashCode(str2):"+
                            System.identityHashCode(str2)) ;

    }

}

toString()

  • 기본은 클래스명@해쉬코드값
  • 재정의 해서 사용
package chapter12;

public class ToStringEx {

    public static void main(String[] args) {
        Fruit f = new Fruit("사과", "빨강");
        System.out.println(f); // f.toString() 자동으로 불려짐
        System.out.println(f.toString); 
    }
}
class Fruit {
    String name;
    String color;
    public Fruit(String name, String color) {
        this.name = name;
        this.color = color;
    }

        @Override
    public String toString() {
        return "과일 이름 : "+this.name+"\n과일 색상 : "+this.color;
    }
}

clone() 메서드

package chapter12;

public class ClonEx {

    public static void main(String[] args) {

        String[] arr = {"홍길동", "이순신", "김유신", "안중근"};
        String[] arr2 = arr.clone();

        System.out.println(arr == arr2);
        for (String v : arr2) {
            System.out.println(v);
        }

        String[] arr3 = new String[arr.length];
        System.arraycopy(arr, 0, arr3, 0, arr.length);

        System.out.println(arr == arr3);
        for (String v : arr3) {
            System.out.println(v);
        }

    }

}

System 클래스

  • OS와 관련된 기능이 있는 static 멤버로 이루어진 클래스

getProperty()

  • JVM이 시작될 때 자동으로 읽어와 설정되는 속성값
package chapter12;

public class EnvEx {

    public static void main(String[] args) {

        System.out.println(System.getProperty("java.version")); // 자바 버전
        System.out.println(System.getProperty("java.home")); // JDK 경로
        System.out.println(System.getProperty("os.name")); // OS
        System.out.println(System.getProperty("file.separator")); // 파일 구분자(리눅스,유닉스는 /)
        System.out.println(System.getProperty("user.name")); // 사용자명
        System.out.println(System.getProperty("user.home")); // 사용자 홈디렉토리
        System.out.println(System.getProperty("user.dir")); // 현재 워크스페이스 디렉토리 위치

    }

}

getEnv()

  • 환경변수 읽어 오기
package chapter12;

public class PropertyEx {

    public static void main(String[] args) {

        for (String var : System.getenv().keySet()) {
            System.out.println(var + "=" + System.getenv(var));
        }

    }

}

Class 클래스

  • 클래스관련 정보나 클래스 동적으로 메모리 로드
  • Class.forName() : 문자열 클래스명으로 인스턴스 생성
  • DataBase 드라이버 메모리 로드에 많이 사용
package chapter12;

public class ClassEx {

    public static void main(String[] args) {

        EnvEx env = new EnvEx();

        // 객체를 이용해서 생성
        Class c1 = env.getClass();
        System.out.println(c1.getName());

        // 문자열 주소로 생성
        try {
            Class c2 = Class.forName("chapter12.PropertyEx");
            System.out.println(c2.getName());
        } catch (ClassNotFoundException e) {
            System.out.println(e.getMessage());
        }

    }

}

String 클래스

  • 멤버 메서드를 잘 사용해야함

숫자 -> 문자열

package chapter12.string;

public class StringEx {

    public static void main(String[] args) {

        int score = 90;
        System.out.println("당신의 점수는 " + score + "입니다."); // 자동형변환

        //String s = score; // 데이터타입이 달라 에러
        String s = String.valueOf(score); // String으로 형변환

        String s2 = score + ""; // 문자열을 + 연산하여 String으로 형변환

    }

}
package chapter12.string;

public class StringEx3 {

    public static void main(String[] args) {

        String sum = "";

        for (int i=1; i<=5; i++) {
            sum += i;
        }
        System.out.println(sum);

    }

}

equals() 메서드

  • 문자열 값 비교시 사용
package chapter12.string;

public class StringEx2 {

    public static void main(String[] args) {

        // 상수 풀 Constant Pool 에  저장됨
                String name1 = "홍길동";
        String name2 = "홍길동";

        if (name1 == name2) {
            System.out.println("name1 == name2");
        } else {
            System.out.println("name1 != name2");
        }

        if (name1.equals(name2)) {
            System.out.println("name1.equals(name2)");
        } else {
            System.out.println("!name1.equals(name2");
        }

        // 힙 Heap에 저장됨
        String name3 = new String("홍길동");
        String name4 = new String("홍길동");

        if (name3 == name4) {
            System.out.println("name3 == name4");
        } else {
            System.out.println("name3 != name4");
        }

        if (name3.equals(name4)) {
            System.out.println("name3.equals(name4)");
        } else {
            System.out.println("!name3.equals(name4");
        }

    }

}

문자열과 문자 1개

  • String, char
  • charAt(index) : index 위치 문자 1개 리턴
package chapter12.string;

public class StringEx4 {

    public static void main(String[] args) {

        String text = "Hello My Name is Hong Gil Dong";

        System.out.println("0번 인덱스 : "+text.charAt(0));

        for (int i=0; i<text.length(); i++) {
            System.out.println(text.charAt(i));
        }

    }

}

문자열 초기값

  • 멤버변수 : 참조 자료형 기본 null, "" 빈문자열 많이 사용
  • "".length() 는 0
package chapter12.string;

public class StringEx5 {

    static String s1;
    static String s2 = "";

    public static void main(String[] args) {

        System.out.println(s1);
        System.out.println(s2);

        System.out.println("s2.length():"+s2.length());
        System.out.println("".equals(s2));


    }

}

String 클래스 주요 메서드

package chapter12.string;

public class StringEx7 {

    public static void main(String[] args) {

        String str = "Hello My Name is Hong Gil Dong";

        System.out.println(str.charAt(6)); // 6번 인덱스의 문자
        System.out.println(str.equals("Hello My Name is Hong Gil Dong")); // 문자열값 비교
        System.out.println(str.indexOf("Hong")); // "Hong" 문자열의 위치
        System.out.println(str.indexOf('H')); // 'H'문자의 위치
        System.out.println(str.substring(17)); // 17번 인덱스부터 끝까지 잘라냄
        System.out.println(str.substring(6, 13)); // 6번 인덱스부터 13전(12번 인덱스)까지 문자열
        System.out.println(str.toLowerCase()); // 소문자로 변경
        System.out.println(str.toUpperCase()); // 대문자로 변경
        System.out.println(str.length()); // 문자열의 길이
        System.out.println(str.startsWith("Hello")); // "Hello"으로 시작하는지 여부
        System.out.println(str.endsWith("Dong")); // "Dong"으로 끝나는지 여부
        System.out.println(str.replace("Hong", "Kim")); // "Hong"을 "Kim"으로 치환
        System.out.println(str.replaceAll("Name", "NickName")); // "Name"을 "NickName"으로 치환
        System.out.println(str.toString());

        str = "   안녕 하세요,     반갑습니다.      ";
        System.out.println(str.trim()); // 앞뒤 공백 제거
        // 모든 공백을 제거하는 방법
        System.out.println(str.replace(" ", ""));

        str = String.valueOf(10); // 기본자료형 int를 문자열로 변환
        str = String.valueOf(10.5); // 기본자료형 double을 문자열로 변환

        str = "홍길동,이순신,유관순,안중근";
        String[] arr = str.split(","); // ,를 구분자로 나눠서 배열로 리턴
        for (int i=0; i<arr.length; i++) {
            System.out.println(i+"번 인덱스 값 = "+arr[i]);
        }

    }

}

문자열을 숫자로 변화

  • 각 숫자 클래스의 parseXXX() 메서드 사용
package chapter12.string;

public class StringEx8 {

    public static void main(String[] args) {

        String[] str = {"1", "2", "3", "4"};

        int sum1 = 0;
        for (int i=0; i<str.length; i++) {
            sum1 += Integer.parseInt(str[i]);
        }
        System.out.println("sum1 = "+sum1);

        long sum2 = 0;
        for (int i=0; i<str.length; i++) {
            sum2 += Long.parseLong(str[i]);
        }
        System.out.println("sum2 = "+sum2);

        double sum3 = 0;
        for (int i=0; i<str.length; i++) {
            sum3 += Double.parseDouble(str[i]);
        }
        System.out.println("sum3 = "+sum3);

    }

}

StringBuffer

  • String 클래스는 생성되고 나면 수정(추가등)되지 않음 -> immutable 인스턴스
  • 기존 문자열에 문자열을 더하면 새로운 인스턴스가 생성 됨
  • StringBuffer 클래스 append() 메서드로 추가

새로 생성 확인

package chapter12.stringbuffer;

public class StringEx9 {

    public static void main(String[] args) {

        String str1 = "abcd";
        String str2 = "abcd";
        System.out.println("str1 = "+System.identityHashCode(str1));
        System.out.println("str2 = "+System.identityHashCode(str2));

        // 기본 객체에 + 연산 후 다시 대입
        str1 = str1 + "efg";
        System.out.println("str1 = "+System.identityHashCode(str1));

    }

}

StringBuffer 클래스 사용

package chapter12.stringbuffer;

public class StringBufferEx {

    public static void main(String[] args) {

        StringBuffer sb1 = new StringBuffer("abcd");
        System.out.println("문자열 연결전 sb1 = "+System.identityHashCode(sb1));
        sb1.append("efgh");
        System.out.println("문자열 연결후 sb1 = "+System.identityHashCode(sb1));

        // StringBuffer 클래스 equals() 재정의 안되어 있음
        System.out.println(sb1.toString().equals("abcdefgh"));



    }

}

문자열 덧셈 수행 시간 비교

문자열 덧셈

package chapter12.stringbuffer;

public class StringBufferEx3 {

    public static void main(String[] args) {

        // 시작
        long start = System.currentTimeMillis();

        String str = "";
        for (int i=0; i<1000000; i++) {
            str += i;
        }

        // 끝
        long end = System.currentTimeMillis();
        System.out.println( "실행 시간 : " + ( end - start )/1000);

    }

}

StringBuffer

package chapter12.stringbuffer;

public class StringBufferEx4 {

    public static void main(String[] args) {

        // 시작
        long start = System.currentTimeMillis();


        StringBuffer sb = new StringBuffer();
        for (int i=0; i<1000000; i++) {
            sb.append(i);
        }


        // 끝
        long end = System.currentTimeMillis();
        System.out.println( "실행 시간 : " + ( end - start )/1000);

    }

}

Math 클래스

  • 수학계산 관련 기능 클래스
  • 모든 멤버 static
  • final 클래스, 상속 불가
  • PI(원주율), E(자연로그) 등 상수로 정의 되어 있음

중요 메서드

package chapter12;

public class MathEx {

    public static void main(String[] args) {

        System.out.println("Math.abs(10)=" + Math.abs(10)); // 절대값
        System.out.println("Math.abs(-10)=" + Math.abs(-10)); 
        System.out.println("Math.ceil(5.4)=" + Math.ceil(5.4)); // 올림
        System.out.println("Math.ceil(-5.4)=" + Math.ceil(-5.4));
        System.out.println("Math.floor(5.4)=" + Math.floor(5.4)); // 내림
        System.out.println("Math.floor(-5.4)=" + Math.floor(-5.4));
        System.out.println("Math.max(5,4)=" + Math.max(5,4));
        System.out.println("Math.max(5.4,5.3)=" + Math.max(5.4,5.3));
        System.out.println("Math.min(5,4)=" + Math.min(5,4));
        System.out.println("Math.min(5.4,5.3)=" + Math.min(5.4,5.3));
        System.out.println("Math.random()=" + Math.random()); // 0이상 1미만 소숫점
        System.out.println("Math.rint(4.5)=" + Math.rint(4.5));// 5 짝수 버림
        System.out.println("Math.rint(5.5)=" + Math.rint(5.5));// 5 홀수 올림
        System.out.println("Math.round(4.5)=" + Math.round(4.5));
        System.out.println("Math.round(5.5)=" + Math.round(5.5));

    }

}

반올림 식

package chapter12;

public class RoundEx {

    public static void main(String[] args) {

        // 원주율을 소수점 3자리로 반올림
        double v1 = Math.PI * 1000;
        double v2 = Math.round(v1);
        double v3 = v2 / 1000.0;
        System.out.println(v3);

        // 한줄로 출력
        System.out.println(Math.round(Math.PI * 1000)/1000.0);

    }

}

Wrapper 클래스

  • 박싱 Boxing : 기본 자료형 -> 참조형
  • 언박싱 Unboxing : 참조형 -> 기본 자료형
  • 값 비교시는 equals() 사용
package chapter12;

public class WrapperEx {

    public static void main(String[] args) {

        // 정수 10이 Integer 클래스 객체로 변환 (boxing)
        Integer i1 = new Integer(10);
        Integer i2 = new Integer(10);
        System.out.println("i1==i2 : " + (i1==i2));
        System.out.println("i1.equals(i2) : " + (i1.equals(i2)));
        System.out.println("i1.toString() : " + i1.toString());

        //i1 객체가 100 정수로 변환 (unboxing)
        System.out.println("i1==10 : " + (i1==10)); // int 자동 형변환
        int i3 = 10;
        System.out.println("i1==i3 : " + (i1==i3));

    }

}

상수값 MAX_VALUE, MIN_VALUE

package chapter12;

public class WrapperEx2 {

    public static void main(String[] args) {

        System.out.println("정수의 최대값 :" + Integer.MAX_VALUE);
        System.out.println("정수의 최소값 :" + Integer.MIN_VALUE);
        System.out.println("byte의 최대값 :" + Byte.MAX_VALUE);
        System.out.println("byte의 최소값 :" + Byte.MIN_VALUE);
        System.out.println("정수의 사이즈 :" + Integer.SIZE);
        System.out.println("float의 사이즈 :" + Float.SIZE);
        System.out.println("double의 사이즈 :" + Double.SIZE);

    }

}

문자열 -&gt; 숫자

package chapter12;

public class WrapperEx3 {

    public static void main(String[] args) {

        String number = "100";

        int i1 = Integer.parseInt(number);
        int i2 = new Integer(number).intValue();
        int i3 = Integer.valueOf(number);

        System.out.println("i1 = "+i1);
        System.out.println("i2 = "+i2);
        System.out.println("i3 = "+i3);

    }

}

java.util 패키지

Random 클래스

  • 다양한 자료형의 랜덤숫자를 구할 수 있음
  • seed 를 설정해서 동일한 랜덤 값 추출 가능

seed 사용

package chapter12;

import java.util.Random;

public class RandomEx {

    public static void main(String[] args) {

        Random r1 = new Random(42); // seed 42
        Random r2 = new Random(42); // seed 42

        System.out.println("r1");
        for (int i=0; i<5; i++) {
            System.out.println(i + "=" + r1.nextInt());
        }
        System.out.println("r2");
        for (int i=0; i<5; i++) {
            System.out.println(i + "=" + r2.nextInt());
        }

    }

}

주요 메서드

package chapter12;

import java.util.Random;

public class RandomEx2 {

    public static void main(String[] args) {

        Random rand = new Random();

        // nextInt(n) : 0이상  n 미만
        for (int i=0; i<5; i++) {
            System.out.println(rand.nextInt(6)+1);
        }

        // boolean 값
        for (int i=0; i<5; i++) {
            System.out.println(rand.nextBoolean());
        }

        // 정규표준편차 값 (평균 0, 분산 1)
        for (int i=0; i<5; i++) {
            System.out.println(rand.nextGaussian());
        }

    }

}

Date 클래스

  • 날짜와 시간을 처리할 때 사용
package chapter11;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateEx {

    public static void main(String[] args) {
        Date now = new Date();
        System.out.println(now);
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sf.format(now));

        Calendar cal = Calendar.getInstance();
        Date d = new Date(cal.getTimeInMillis());
        System.out.println(sf.format(d));

    }

}

Calendar 클래스

  • Date 클래스 보다 향상된 기능이 추가된 날짜와 시간 관련 처리 클래스
  • Date 객체간 서로 변환되는 경우가 많아 Date 객체와 함께 사용
  • 추상클래스이므로 getInstance() 메서드 통해서 객체 생성
  • 상속받은 GregorianCalendar 클래스 사용
package chapter12;

import java.util.Calendar;

public class CalendarEx {

    public static void main(String[] args) {

        Calendar today = Calendar.getInstance();

        System.out.println("올해 년도 :"+today.get(Calendar.YEAR));
        System.out.println("이번달 :" + (today.get(Calendar.MONTH)+1));
        System.out.println("년도기준 몇째주 :"+today.get(Calendar.WEEK_OF_YEAR));
        System.out.println("월기준 몇째주 :"+today.get(Calendar.WEEK_OF_MONTH));
        System.out.println("일자 :" + today.get(Calendar.DATE));
        System.out.println("일자 :" + today.get(Calendar.DAY_OF_MONTH));
        System.out.println("년도기준날짜 :"+today.get(Calendar.DAY_OF_YEAR));
        System.out.println("요일 (일)~ 토)):"+today.get(Calendar.DAY_OF_WEEK));
        System.out.println("월기준몇째요일 :" + today.get(Calendar.DAY_OF_WEEK_IN_MONTH));

    }

}
package chapter12;

import java.util.Calendar;

public class CalendarEx2 {

    public static void main(String[] args) {

        Calendar today = Calendar.getInstance();

        System.out.println("오전 (0) 오후 (1) :" + today.get(Calendar.AM_PM));
        System.out.println("시간 (0~11) :" + today.get(Calendar.HOUR));
        System.out.println("시간 (0~23) :" + today.get(Calendar.HOUR_OF_DAY));
        System.out.println("분 (0~59) :" + today.get(Calendar.MINUTE));
        System.out.println("초 (0~59) :" + today.get(Calendar.SECOND));
        System.out.println("밀리초 (0~999) :" + today.get(Calendar.MILLISECOND));
        System.out.println("Timezone(12~12):" + today.get(Calendar.ZONE_OFFSET) / (60 * 60 * 1000));
        System.out.println("이번달의 마지막일자 :" + today.getActualMaximum(Calendar.DATE));

        Calendar cal = Calendar.getInstance();
        cal.set(2020, (6-1), 12);
        System.out.println("날짜 :" + 
                        cal.get(Calendar.YEAR) + "년 " + 
                        (cal.get(Calendar.MONTH) + 1) + "월 " + 
                        cal.get(Calendar.DATE) + "일");

    }

}

두 날짜간 일수 구하기

Data 클래스 사용

package chapter12;

import java.util.Date;

public class CalendarEx3 {

    public static void main(String[] args) {


        // 현재일
        int sYear = 2020;
        int sMonth = 6;
        int sDay = 12;

        // 이전일
        int eYear = 2020;
        int eMonth = 6;
        int eDay = 1;

        Date sd = new Date();
        Date ed = new Date();

        sd.setYear(sYear);
        sd.setMonth(sMonth-1);
        sd.setDate(sDay);

        ed.setYear(eYear);
        ed.setMonth(eMonth-1);
        ed.setDate(eDay);

        long temp = (sd.getTime() - ed.getTime()) / (1000L*60L*60L*24L);
        int diff = (int)temp;

        System.out.println(diff + "일 경과");

    }

}

Calendar 클래스 사용 - 1일 오차 있음

package chapter12;

import java.util.Calendar;

public class CalendarEx4 {

    public static void main(String[] args) {


        // 현재일
        int sYear = 2020;
        int sMonth = 6;
        int sDay = 12;

        // 이전일
        int eYear = 2020;
        int eMonth = 6;
        int eDay = 1;

        Calendar sCal = Calendar.getInstance();
        Calendar eCal = Calendar.getInstance();
        sCal.set(sYear, sMonth+1, sDay);
        eCal.set(eYear, eMonth+1, eDay);

        long diffSec = (sCal.getTimeInMillis() - eCal.getTimeInMillis()) / 1000;

        long diffDay = diffSec / (24*60*60);

        System.out.println(diffDay + "일 경과");

    }

}

GregorianCalendar 클래스 사용

package chapter12;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class CalendarEx5 {

    public static void main(String[] args) {


        // 현재일
        int sYear = 2020;
        int sMonth = 6;
        int sDay = 12;

        // 이전일
        int eYear = 2020;
        int eMonth = 6;
        int eDay = 1;

//      Calendar sCal = Calendar.getInstance();
//      Calendar eCal = Calendar.getInstance();
//      sCal.set(sYear, sMonth+1, sDay);
//      eCal.set(eYear, eMonth+1, eDay);
        Calendar sCal = new GregorianCalendar(sYear, sMonth+1, sDay);
        Calendar eCal = new GregorianCalendar(eYear, eMonth+1, eDay);

        long diffSec = (sCal.getTimeInMillis() - eCal.getTimeInMillis()) / 1000;

        long diffDay = diffSec / (24*60*60);

        System.out.println(diffDay + "일 경과");

    }

}

Calendar 와 Date 간의 변환

package chapter12;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class SimpleDateFormatEx2 {

    public static void main(String[] args) {

        // Calendar 와 Date 간의 변환은 다 음과 같이 한다 •
        Calendar cal = Calendar.getInstance() ;
        cal.set(2020, 5, 13); //2020 년 6 월 13 일 - 월은+1
        Date day = cal.getTime() ;
        SimpleDateFormat sdf1 , sdf2 , sdf3 , sdf4 ;
        sdf1 = new SimpleDateFormat ("yyyy-MM-dd" );
        sdf2 = new SimpleDateFormat ("yy-MM-dd E요일 " ) ;
        sdf3 = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss.SSS " ) ;
        sdf4 = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss a" ) ;
        System.out.println(sdf1.format(day));
        System.out.println(sdf2.format(day));
        System.out.println(sdf3.format(day)) ;
        System.out.println(sdf4.format(day));

    }

}

java.text 패키지

  • 다양한 츨력형태의 포맷 지정

DecimalFormat 클래스

  • 첫단위 콤마, 소숫점 자리등
package chapter12;

import java.text.DecimalFormat;

public class DecimalFormatEx {

    public static void main(String[] args) {

        double[] scores = {90.555, 80.6666, 70.77777, 60.666666, 50.5};

        DecimalFormat df = new DecimalFormat("#,###.00");

        for (int i=0; i<scores.length; i++) {
            System.out.println(df.format(scores[i]));
        }


    }

}
package chapter12;

import java.text.DecimalFormat;

public class DecimalFormatEx2 {

    public static void main(String[] args) {

        DecimalFormat df1 = new DecimalFormat("#,###.##");
        DecimalFormat df2 = new DecimalFormat("000,000");

        System.out.println(df1.format(5500));
        System.out.println(df2.format(5500));

    }

}

SimpleDateFormat

  • 다양하게 날짜, 시간등 출력
package chapter12;

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatEx {

    public static void main(String[] args) {

        Date now = new Date();
        System.out.println(now);
        SimpleDateFormat sf = new SimpleDateFormat("yyyy MM dd HH:mm:ss E a");
        System.out.println(sf.format(now));

    }

}
package chapter12;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatEx3 {

    public static void main(String[] args) {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String strDate = "2020-06-13";

        Date d = null;
        try {
            d = sdf.parse(strDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(d);

        SimpleDateFormat sf2 = new SimpleDateFormat("yyyy-MM-dd E요일");
        System.out.println(sf2.format(d));

    }

}

java.util.regex 패키지

  • 정규표현식 사용을 위한 패키지
  • 정규표현식은 데이터에서 원하는 패턴을 찾기 위해 미리 정의된 기호를 이용해 작성된 표현식
  • 전화번호, 이메일주소, 주민등록번호, 웹사이트주소 등을 추출하거나 비밀번호 규칙(대소문자, 특수문자, 숫자, 길이등) 체크 시 사용

'Programing > JAVA' 카테고리의 다른 글

제네릭 GENERIC  (0) 2022.03.08
컬렉션 F/W COLLECTION  (2) 2022.03.07
예외처리 EXCEPTION  (1) 2022.03.07
인터페이스 INTERFACE  (1) 2022.03.04
상속 INHERITANCE_Part3  (0) 2022.03.03
  1. java.lang 패키지
  2. Object class
  3. System 클래스
  4. Class 클래스
  5. String 클래스
  6. StringBuffer
  7. Math 클래스
  8. Wrapper 클래스
  9. java.util 패키지
  10. Random 클래스
  11. Date 클래스
  12. Calendar 클래스
  13. java.text 패키지
  14. DecimalFormat 클래스
  15. SimpleDateFormat
  16. java.util.regex 패키지
'Programing/JAVA' 카테고리의 다른 글
  • 제네릭 GENERIC
  • 컬렉션 F/W COLLECTION
  • 예외처리 EXCEPTION
  • 인터페이스 INTERFACE
쿠크
쿠크
  • 쿠크
    쿠크 개발자
    쿠크
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • Kubernetes (2)
      • Programing (35)
        • JSP (3)
        • JAVA (22)
        • Spring (5)
        • HTML (5)
      • 이외 (12)
        • Git (2)
        • 임시 잡다함 (6)
        • IntelliJ (1)
        • 에러 모음 (2)
      • OS (2)
        • Docker (0)
        • Kubernetes (0)
        • Linux (2)
      • DataBase (2)
        • Mysql (1)
      • 토이 프로젝트 (0)
        • 게시판 만들기 (0)
      • Spring (0)
      • 부동산 or 주식 (0)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 링크

    • 깃 허브 주소
  • 공지사항

  • 태그

    spring-framwork
    spring-framework
    HTTP란
    에러 발생
    java
    Linux
    에러원인
    클래스
    error
    kubernetes
    MVC
    spring
    상속
    HTML
    Database
    ubuntu
    jsp
    스프링 특징
    MySQL
    IntelliJ
  • hELLO· Designed By정상우.v4.10.3
쿠크
JAVA- API

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.