Math 클래스
: 수학 연산과 관련된 다양한 메서드를 제공해주는 클래스
절댓값 메서드 : abs ()
System.out.println(Math.abs(-10.888)); // 10.888
★올림값 메서드 : ceil()
System.out.println(Math.ceil(3.14)); // 4
★내림값 메서드 : floor()
System.out.println(Math.floor(3.14)); // 3
★반올림 메서드 : round()
System.out.println(Math.round(3.14)); // 3 내림
System.out.println(Math.round(3.64)); // 4 올림
특정 소수점 자리수에서 올림, 내림, 반올림
System.out.println(Math.round( 3.1415 * 100 ) / 100.0 ); // 소수점 세번째 자리에서 반올림
System.out.println(Math.round( 3.1415 * 1000 ) / 1000.0 ); // 소수점 네번째 자리에서 반올림
최솟값 메서드 : min()
System.out.println(Math.min(10, 20)); // 10
최댓값 메서드 : max()
System.out.println(Math.max(10, 20)); // 20
거듭제곱값 메서드 : pow()
System.out.println(Math.pow(10, 3)); // 1000.0
제곱근값 메서드 : sqrt()
System.out.println(Math.sqrt(100)); // 10.0
Random 클래스
: 난수를 생성해주는 클래스
Random random = new Random();
System.out.println(random.nextInt()); // -1515530195
범위 제약
System.out.println(random.nextInt(45)); // 16 // 0 ~ 44의 숫자가 랜덤으로 나옴)
System.out.println(random.nextInt() % 45); // -17 // -45 ~ 44
* 0 ~ (지정수 -1)까지 랜덤으로 나옴 (인덱스 번호)
* % 숫자를 하면 음수값이 나옴
// Lotto : 1 ~ 45
for (int count = 0; count < 5; count++) {
Set<Integer> lotto = new TreeSet<>();
while(lotto.size() < 6) { // 6개 고정
int number = random.nextInt(45) + 1; // 44까지 나오기 때문에 + 1을 해줌
lotto.add(number);
}
System.out.println(lotto);
}
// 연금복권 : 1 ~ 5조 0 ~ 9 즁복허용한 6자리수 5조 588526
List<Integer> annuity = new ArrayList<>();
int jo = random.nextInt(5) + 1; // 1개
annuity.add(jo);
for (int count = 0; count < 6; count++) { // 6개
int number = random.nextInt(10);
annuity.add(number);
}
System.out.println(annuity); //
Date 클래스 : 날짜를 다루는 클래스
Date 클래스의 대부분의 메서드는 JDK 1.1부터 사용하지 않도록 권장하고 있음
Date dateNow = new Date();
System.out.println(dateNow);
System.out.println(dateNow.getDate());
LocalDateTime 클래스
: Java 8버전 이후부터 클래스를 대체하기 위해 만들어진 클래스
LocalDate 클래스, LocalTime클래스, LocalDateTime 클래스
현재 날짜 및 시간의 인스턴스 생성
LocalDateTime now = LocalDateTime.now();
System.out.println(now);
특정 날짜 및 시간의 인스턴스 생성
LocalDateTime date1 = LocalDateTime.of(2024, 1, 18, 9, 0, 0);
System.out.println(date1);
특정 요소 가져오기 : getXXX()
int year = now.getYear();
System.out.println(year);
int month = now.getMonthValue();
System.out.println(month);
int day = now.getDayOfMonth();
System.out.println(day);
특정 요소 변경하기 : withXXX()
now.withYear(2025).withHour(15);
System.out.println(now);
날짜 계산하기
: 특정 요소에 값을 더하거나 빼기 plusXXX() / minusXXX()
: 변경한 값을 반환 함
now = now.plusMonths(2).minusHours(15);
System.out.println(now);
LocalDateTime을 Date 클래스로 변경
Date localToDate = Date.from(now.atZone(ZoneId.systemDefault()).toInstant());
System.out.println(localToDate);
Date -> String
: simpleDateFormat 클래스를 사용하여 지정한 포멧으로 문자열로 변경
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
String dateString = simpleDateFormat.format(localToDate);
System.out.println(dateString);
y : 연도, M : 월, d : 일, a : 오전오후, H : 시간(24), h: 시간(12), m : 분, s : 초, E : 요일
simpleDateFormat = new SimpleDateFormat("yyyy-MM -dd a HH:mm:ss"); // HH 15시 18시 표시 hh 8시 7시 표시
dateString = simpleDateFormat.format(localToDate);
System.out.println(dateString);
LocalDateTime -> String
dateString = now.format(DateTimeFormatter.ofPattern("yyyy-MM -dd a HH:mm:ss"));
System.out.println(dateString);
어노테이션
: Java의 메타프로그래밍 기능으로, 코드에 메타데이터를 추가하는 방법을 제공
어노테이션의 역할
: 컴파일러에게 코드 작성 의도를 명확히 알림
: 코드를 잘 이해하고, 오류를 찾는데 도와줌
: 실행에 코드가 어떻게 동작해야 하는지에 대한 메타데이터 제공
어노테이션의 장점
: 코드의 가독성 증가
: 코드의 기능에 대한 문서 제공, 자동 생성
: 보일러플레이트 코드 감소
기본적인 어노테이션 타입들
: @Override: 이 메소드가 슈퍼클래스의 메소드를 오버라이드하는 것임을 명시한다.
: @Deprecated: 이 메소드가 더 이상 사용되지 않음을 명시한다.
: @SuppressWarnings: 컴파일러 경고를 숨기기 위해 사용된다.
열거형
: java에서 제한된 값 집합을 나타내는데 사용되는 특수한 클래스
람다식
: 이름 없는 함수
'AWS(산대특)' 카테고리의 다른 글
DAY 12 - MySQL (0) | 2024.02.05 |
---|---|
DAY 11 - GitHub (0) | 2024.02.01 |
DAY 8 - JAVA (0) | 2024.01.29 |
DAY 7 - JAVA (0) | 2024.01.28 |
DAY 6 -JAVA (0) | 2024.01.25 |