본문 바로가기
카테고리 없음

Java Basic (4) Essential Standard Classes

by Riverandeye 2020. 5. 27.

BigInteger

long 보다 더 긴 Integer를 저장하기 위해 사용한다.

BigInteger number = new BigInteger("62957291795228763406253098");

String 을 이용하여 BigInteger 객체를 선언할 수 있다. 

내부적으로 제공되는 메소드만을 사용하여 연산하여야 한다.

BigInteger nine = ten.subtract(BigInteger.ONE); // 10 - 1 = 9
BigInteger oneHundredTen = ten.multiply(eleven); // 10 * 11 = 110
BigInteger twelve = oneHundredTen.divide(nine); // integer division: 12

각 메소드를 사용한다고 해서 기존 값을 변경하지는 않는다. 결과는 새로운 메모리에 할당해야 한다. 

 

Random

Random 은 진짜 랜덤은 아니고, PseudoRandom이다. 

Random random = new Random(100000);
System.out.println(random.nextInt(5)); // it may print 0, 1, 2, 3, 4
System.out.println(random.nextInt(2, 5)); // it may print 2, 3, 4

 

LocalDate

년 월 일을 저장하는 객체이다.

LocalDate date1 = LocalDate.of(2017, 11, 25); // 2017-11-25 (25 November 2017)
LocalDate date2 = LocalDate.parse("2017-11-25"); // 2017-11-25 (25 November 2017)
LocalDate.ofYearDay(2016, 365); // 2016-12-30 (30 December 2016)

LocalDate date = LocalDate.of(2017, 11, 25); // 2017-11-25 (25 November 2017)
int year = date.getYear(); // 2017
int month = date.getMonthValue(); // 11
int dayOfMonth = date.getDayOfMonth(); // 25
int dayOfYear = date.getDayOfYear();  // 329

LocalDate date = LocalDate.of(2017, 1, 1); // 2017-01-01 (1 January 2017)
LocalDate tomorrow = date.plusDays(1);    // 2017-01-02 (2 January 2017)
LocalDate yesterday = date.minusDays(1);  // 2016-12-31 (31 December 2016)
LocalDate inTwoYears = date.plusYears(2); // 2019-01-01 (1 January 2019)
LocalDate in2016 = date.withYear(2016);   // 2016-01-01 (1 January 2016)

 

댓글