2021. 3. 17. 12:10ㆍJAVA 공부
오늘은 비대면 수업을 하는 날이네요 ~
학원을 안가다 보니까, 마음이 물러지고.... 늦잠을 자게 됩니다 ㅎㅎㅎ
이번에는 Date 클래스에 대해서 알아봅시다
Date
Date 도 java.util 패키지에 들어 있습니다.
Date는 날짜를 표현하는 클래스로 ... 컴퓨터의 현재 날짜를 가져옵니다.
Date 클래스를 만들 때, Date 라는 이름의 클래스는 sql, util 2개가 있는데, util에 있는 걸 사용하셔야 합니다
그런데 그냥 Date 클래스만 사용해서 날짜 및 시간을 가져올 경우 ... 출력이 이렇게 되기 때문에, 저희는 이 형태를 조금 바꿔 줄 겁니다
SimpleDateFormat 을 이용해서 말이죠
이렇게 SimpleDateFormat 을 사용해서 , 형식을 지정해 주시고
yyyy -> 년도
MM -> 월
dd -> 일
hh -> 12시 기준 시 , HH -> 24시 기준 시
mm -> 분
ss -> 초
대 소문자를 잘 구분 해주셔야 합니다
그 후 format 을 이용해서 사용해주면 됩니다. ( String문자열 반환 )
이런 식으로 사용 하시면 되겠습니다 ~
Date 클래스와 비슷하게 날짜에 대해서 가져오는 Calendar 클래스를 알아 봅시다
Calendar
역시나 Calendar 클래스도 java.util 패키지에 있습니다
Calendar 클래스는 일반적인 객체 생성이 안되는데, 그 이유는 싱글톤 패턴으로 만들어져 있기 때문입니다.
생성자는 private 로 가려져 있고, 객체를 1개만 생성하기 위해서 이죠
사용 방법은 좀 특이합니다.
get 메서드를 통해서 값을 가져오는데 .... 매개변수로 가져오고 싶은 걸 Calendar에 있는 상수를 통해서 가져와야 합니다.
이런 식으로 말이죠 . 거기에 각각 1개 씩 가져오는 것이기 때문에 (년 월 일) 많은 날짜를 가져오려면 여러번 써주어야 합니다
그리고 MONTH 는 항상 1달 늦게 나오는데, 다른 언어에서도 다 똑같이 1달 씩 늦게 나온다고 합니다.
그 이유는 언어가 생성된 날짜에 관련이 있다고 합니다
이제, Random 클래스에 대해서 알아 봅시다
Random
Random 클래스도 java.util 패키지에 있습니다
Random 클래스는 다양한 난수를 얻기 위해서 사용 합니다. Math.random() 이랑 비슷해요 ~
먼저, 객체를 만들어 주세요 !
- nextDouble() -> 0 ~ 1 미만의 랜덤값을 반환한다
- nextInt() -> int 형 정수 데이터 범위 랜덤 값을 반환한다
- nextInt(int bound) -> 0 부터 dound 미만까지의 랜덤 값을 반환한다
(int)(Math.random() * bound) 이랑 굉장히 비슷합니다.
이제 StringTokenizer 에 대해 알아 봅시다
StringTokenizer
StringTokenizer 도 역시나 java.util 패키지에 들어 있습니다.
StringTokenize 는 String 클래스에서 배웠던 split 랑 비슷합니다 ~
특정 문자열 로 잘라주는 겁니다
StringTokenizer 생성자를 호출 할 때, String 만 넣어주면 공백을 기준으로 자릅니다.
- countTokens() -> token 이 몇개로 잘려 있는지 반환 해준다
여기서 잘린 token 은 배열이 아닙니다.
- nextToken() -> 다음 token으로 이동하고 String을 반환 해준다
여기서 반복자 라는 개념이 나오는데 ... 나중에 다시 알려주신다고 합니다.
다만, 배열은 아니고, 앞으로만 갈 수 있고 뒤로 돌아올 수 없다고 해요
그리고 토큰의 개수보다 많게 사용하게 되면 !? 에러가 뜹니다
- hasMoreTokens() -> 다음 토큰이 있는지 검사 합니다. 있다면 true , 없다면 false
반환 값이 true / false 이기 때문에, 이렇게 반복문의 조건에 넣을 수 있습니다.
token 의 다음 token이 있다면 반복을 하다가 없으면 false로 반복문을 종료하게 되죠
StringTokenizer의 생성자를 호출할 때, 두번째로 기준문자열(기호) 를 매개변수로 넣어줄 수 있습니다.
그러면 기준문자열(기호)를 기준으로 자르게 됩니다 ~
기준문자열(기호) 은 여러개 넣어서 자를 수도 있습니다.
쉼표(,) 마침표(.) 슬래시(/) 공백( ) 전부를 기준으로 잘라버렸습니다
StringTokenizer의 생성자를 호출할 때, 세번째로 boolean 형태의 값을 매개변수로 넣어줄 수 있습니다.
2번째로 넣어준 기준문자열 을 포함할 것인지 말것인지 를 넣어줍니다.
구분자가 되는 쉼표(,) 도 포함되어서 출력이 된걸 확인 할 수 있습니다.
오늘은 이렇게 Date, Calendar, Random, StringTokenizer 클래스 들에 대해서 알아 보았습니다.
고생하셨습니다
'JAVA 공부' 카테고리의 다른 글
Day22 - Collection Framework , ArrayList (0) | 2021.03.17 |
---|---|
Day22 - 제네릭 ( Generic ) (0) | 2021.03.17 |
Day21 - Math , Wrapper, Arrays (0) | 2021.03.16 |
Day21 - StringBuffer (0) | 2021.03.16 |
Day21 - 외부라이브러리 추가 (0) | 2021.03.16 |