1. Math 클래스
- 수학관련 메소드 클래스
- 인스턴스화 불가
Math math = new Math();[x]
* 주요메소드
1. abs()
- 절대값
float f = -3.14F;
double d = -100.9;
int num = -10;
System.out.println(Math.abs(f)); // 3.14
System.out.println(Math.abs(d)); // 100.9
System.out.println(Math.abs(num)); // 10
2. ceil(double d)
- 올림
System.out.println(Math.ceil(3.4)); // 4
System.out.println(Math.ceil(-3.4)); // -3
System.out.println(Math.ceil(3.9)); // 4
3. floor(double d)
- 내림
System.out.println(Math.floor(3.4)); // 3
System.out.println(Math.floor(-3.4)); // -4
System.out.println(Math.floor(3.9)); // 3
4. long round(double d) / int round(double d)
- 반올림
System.out.println(Math.round(3.49)); // 3
System.out.println(Math.round(3.51)); // 4
System.out.println(Math.round(-1.4)); // -1
System.out.println(Math.round(-1.8)); // -2
System.out.println(Math.round(-0.4)); // 0
System.out.println(Math.round(-0.8)); // -1
System.out.println(Math.round(-1.5)); // -2
5. max() / min()
- 두 숫자 중 큰값 / 작은값 반환
System.out.println(Math.max(100, 10)); // 100
System.out.println(Math.min(100, 10)); // 10
6. double pow(double a, double b)
- a의 b승
System.out.println(Math.pow(2, 3)); // 2의 3승, 8
System.out.println(Math.pow(3, 2)); // 3의 2승, 9
7. Math.random()
- 숫자를 랜덤하게 발생시킴
- (int)(Math.random()*(차이값+1)+시작값
5부터 10까지 랜덤하게 발생시켜보자
System.out.println((int)(Math.random()*6)+5);
- Math.random()과 같은 기능을 제공해주는 Random클래스
- 인스턴스변수.nextInt(차이값+1)+시작값
Random rand = new Random();
System.out.println(rand.nextInt(6) + 5);
2. Date 클래스
- 날짜 관련 메소드들이 있는 클래스
- 대부분이 Deprecated. 추후에 사라질수 있으니 웬만하면 사용하지 말라는 뜻 (작대기 그어져 있음 Deprecated)
Date date = new Date(); // 오늘의 날짜가 들어가 있음
1. getYear()
- 올해 연도를 반환. 단, 1900을 더해줘야된다
2. getMonth()
- 월 반환. 단, 0부터 시작 하므로 +1 해주면 된다
3. getDate()
- 일 반환
4. getDay()
- 요일 반환. 단, 숫자로 반환되기때문에 조건문으로 처리 해야한다 (0 : 일요일... 6 : 토요일)
System.out.println(date.getYear() + 1900);
System.out.println(date.getMonth() + 1);
System.out.println(date.getDate());
System.out.println(date.getDay());
5. boolean after()/before()
- 두 날짜 사이의 선후 관계를 판단
String strFDate = "2018.12.14";
String strSDate = "2018.12.15";
System.out.println(fDate.after(sDate) ? "fDate가 최근날짜" : "sDate가 최근날짜");
System.out.println(fDate.before(sDate) ? "sDate가 최근날짜" : "fDate가 최근날짜");
6. equals()
- Date클래스의 equals()메소드는 메모리의 주소비교가 아닌 날짜를 비교하도록 오버라이딩 됨 (true/false반환)
System.out.println(fDate.equals(sDate) ? "날짜같음" : "날짜다름");
7. int compareTo(Date anotherDate)
- 두 날짜가 같다면 0반환 다르면 1이나 -1반환
System.out.println(fDate.compareTo(sDate)); // -1
System.out.println(sDate.compareTo(fDate)); // 1
System.out.println(fDate.compareTo(sDate) == 0 ? "두 날짜가 같다" : "두 날짜가 다르다");
1. setYear()
- 연도 셋팅. -1900을 해줘야 getYear()와 혼동이 안생김
2. setMonth()
- 월 셋팅. -1을 해줘야 getMonth()와 혼동이 안생김
3. setDate()
- 일 셋팅
4. setDay()
- 요일 셋팅
System.out.println(date.setYear(2019 - 1900));
System.out.println(date.setMonth(4 - 1));
System.out.println(date.setDate(11));
System.out.println(date.setDay(0)); // 0은 일요일
3. Calendar 클래스
- Date와 같이 날짜를 담당하는 메소드들이 모여있는 클래스
- Singletone Design으로 되어있어 일반적인 인스턴스화 불가능(접근지정자 protected)
Calendar cal = Calendar.getInstance();
1. get() 메소드
- get()메소드 안에 인자에 따라 가져올 날을 반환해준다
System.out.println(String.format("%d년 %d월 %d일 %s %d시 %d분 %d초",
cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH) + 1,
cal.get(Calendar.DATE),
cal.get(Calendar.AM_PM) == 0 ? "오전" : "오후", // 0이면 오전, 1이면 오후
cal.get(Calendar.HOUR),
cal.get(Calendar.MINUTE),
cal.get(Calendar.SECOND)));
2. set() 메소드
- set()메소드 안에 (년, 월, 일, 시, 분, 초) 값을 셋팅
cal.set(2019, 4, 11, 15, 15, 20);
4. simpleDateFormat 클래스
- 날짜 형식을 정해줄 수 있는 메소드들의 클래스
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1. String format(Date d)
- Date 타입을 String형으로 반환해주는 메소드
System.out.println(dateFormat.format(new Date()));
2. applyPattern(String 날짜 패턴)
- 중간에 날짜 패턴을 변경하고자 할때 사용
- a는 오전/오후를 나타네며 at 을 출력하고 싶다면 a는 패턴이므로 ''를 붙이면 된다
dateFormat.applyPattern("yyyy년 MM월 dd일 a HH시 mm분 입니다.");
System.out.println(dateFormat.format(new Date()));
3. parse(String 날짜 형식)
- 문자열을 날짜형식으로 반환. 단, 날짜 형식과 일치해야된다
dateFormat.applyPattern("yyyy/MM/dd");
// 패턴에 맞게
String stringDate = "2018/12/14";
Date parseDate = dateFormat.parse(stringDate);
System.out.println(parseDate);
'개발 > JAVA' 카테고리의 다른 글
14. JAVA 추상화 / 캡슐화 / 은닉화 / 생성자 / 싱글톤 (0) | 2020.06.08 |
---|---|
13. JAVA 상속성 / 오버로딩(OverLoading) / 오버라이딩(OverRiding) / this / super (0) | 2020.06.08 |
11. JAVA String Basic / String Method / StringBuffer (0) | 2020.06.08 |
10. JAVA static블락 / wrapper클래스 : 네이버 블로그 (0) | 2020.06.08 |
09. JAVA 클래스 / 객체 생성 및 사용 / 접근지정자 / 전역, 지역 변수 / static : 네이버 블로그 (0) | 2020.06.08 |