Util 패키지의 주요 클래스
1. Random 클래스
- 지정된 범위 내에서 임의의 난수를 발생시키는 클래스.
- 활용 분야 : 게임, 확률 등에서 사용.
- 형식) nextInt(가장 큰 수) + 시작 수
2. Math 클래스
- 수학과 관련된 메서드를 제공해 주는 클래스.
- 유일하게 java.lang 패키지에 있는 클래스임.
3. Calendar 클래스
- 날짜 / 시간 관련 정보를 제공해 주는 클래스.- 날짜 / 시간과 관련된 정보를 제공해 주는 클래스.
- Calendar 클래스는 추상클래스임.
- 추상클래스로 작성된 이유 : 날짜와 시간을 계산하는 방법이 지역, 문화, 나라마다 다르기 때문임.
- Calendar 클래스에는 날짜와 시간을 계산하는데 꼭 필요한 메서드나 상수로 구성이 되어 있음.
- 추상클래스이지만 getInstance() 메서드를 이용하여 시스템의 날짜와 시간 정보를 표현할 수 있음.
- getInstance() : 싱글턴 방식. 하나의 인스턴스만을 가지고 공유해서 사용할 때 쓰는 방식.
4. Arrays 클래스
- 배열 객체를 처리해주는 클래스.
1) fill() : 배열의 요소를 특정한 값(데이터)으로 채우는 메서드.
2) equals(객체, 객체) : 두 객체의 내용(데이터)이 같은지 틀린지 비교하는 메서드.
==> return 값이 boolean형(true, false)
==> 객체의 방 마다 모든 데이터가 같아야만 true.
3) sort() : 배열의 원소(데이터)를 정렬(오름차순)하는 메서드.
예제1) Random 클래스
public class Ex01 {
public static void main(String[] args) {
// 로또 번호를 만들어 보자.
Random random = new Random();
int num = 0;
// 중복이 발생되는 코드
for(int i=1; i<7; i++) {
num = random.nextInt(45) + 1;
System.out.print(num + "\t");
}
System.out.println();
System.out.println();
// 중복이 발생되지 않게 로또 만들자.
int[] lotto = new int[6]; // 로또 배열
for(int i=0; i<lotto.length; i++) {
lotto[i] = random.nextInt(45) + 1;
if(i > 0) {
for(int j=0; j<i; j++) {
if(lotto[i] == lotto[j]) { // 중복인 경우
lotto[i] = random.nextInt(45) + 1;
j = -1;
}
}
} // if문 end
System.out.print(lotto[i] + "\t");
}
System.out.println();
}
}
예제2) Math 클래스
public class Ex02 {
public static void main(String[] args) {
// 1. max() : 최대값을 구해 주는 메서드. - 두 수를 비교
// min() : 최소값을 구해 주는 메서드. - 두 수를 비교
int num1 = 57, num2 = 34;
System.out.println("최대값 >>> " + Math.max(num1, num2));
System.out.println("최소값 >>> " + Math.min(num1, num2));
System.out.println();
// 2. round() : 반올림이 적용 되는 메서드.
System.out.println(125.5124);
System.out.println(Math.round(125.5124));
System.out.println();
// 3. abs() : 절대값을 구해 주는 메서드.
System.out.println("abs >>> " + Math.abs(-125.34));
System.out.println();
// 4. ceil() : 무조건 올림을 해 주는 메서드.
System.out.println("ceil() >>> " + Math.ceil(12.123));
}
}
예제3) Calendar 클래스
package util;
import java.util.Calendar;
public class Ex03 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
// 날짜와 관련된 정보를 확인하는 방법
int year = cal.get(Calendar.YEAR); // 현재 년도
int month = cal.get(Calendar.MONTH) + 1; // 현재 월
int day = cal.get(Calendar.DAY_OF_MONTH); // 현재 일
int week = cal.get(Calendar.WEEK_OF_YEAR); // 1년 52 주중 몇번째 주 확인
System.out.println("현재 년도 >>> " + year + "년");
System.out.println("현재 월 >>> " + month + "월");
System.out.println("현재 일 >>> " + day + "일");
System.out.println("현재 주 >>> " + week + "주");
System.out.println();
// 시간과 관련된 정보를 확인하는 방법.
// 1. 12시간제를 이용하는 방법 - 오전(0), 오후(1)
// 형식) Calendar.AM_PM
int am_pm = cal.get(Calendar.AM_PM);
int hour = cal.get(Calendar.HOUR); // 몇 시
int minute = cal.get(Calendar.MINUTE); // 몇 분
int second = cal.get(Calendar.SECOND); // 몇 초
System.out.println(am_pm);
if(am_pm == 0) { // 오전인 경우
System.out.println("현재 시간은 AM(오전) "+hour+"시 "+
minute+"분 "+second+"초 입니다.");
}else {
System.out.println("현재 시간은 PM(오후) "+hour+"시 "+
minute+"분 "+second+"초 입니다.");
}
System.out.println();
// 2. 24시간제를 이용하는 방법
// 형식) Calendar.HOUR_OF_DAY
int hours = cal.get(Calendar.HOUR_OF_DAY);
System.out.println("현재 시간은 "+hours+"시 "+minute+"분 "+
second+"초 입니다.");
}
}
예제4) Arrays 클래스
import java.util.Arrays;
public class Ex04 {
public static void main(String[] args) {
String[] str = {"홍길동", "이순신", "유관순"};
for(String k : str) {
System.out.println("str 배열 요소 >>> " + k);
}
System.out.println();
// 1.fill() : 배열의 요소를 특정한 값(데이터)으로 채우는 메서드.
Arrays.fill(str, "김유신"); // str이란 배열에 "김유신"데이터로 다 채워라.
for(String k : str) {
System.out.println("str 배열 요소 >>> " + k);
}
System.out.println();
String[] str2 = {"김유신", "김유신", "강감찬"};
// 2.equals(객체, 객체) : 두 객체의 내용(데이터)이 같은지 틀린지 비교하는 메서드.
// ==> return 값이 boolean형(true, false)
// ==> 객체의 방 마다 모든 데이터가 같아야만 true.
if(Arrays.equals(str, str2)) {
System.out.println("두 객체의 내용(데이터)은 같습니다.");
} else {
System.out.println("두 객체의 내용(데이터)은 다릅니다.");
}
System.out.println();
// 3.sort() : 배열의 원소(데이터)를 정렬(오름차순)하는 메서드.
int[] arr = {54, 67, 13, 97, 41};
for(int k : arr) {
System.out.print(k + "\t");
}
System.out.println();
Arrays.sort(arr); //오름차순 정렬
for(int k : arr) {
System.out.print(k + "\t");
}
System.out.println();
}
}
'Back > JAVA' 카테고리의 다른 글
오브젝트 클래스 (Object Class) (0) | 2021.03.16 |
---|---|
String Class의 특징 및 주요 메서드(StringBuffer, StringTokenizer) (0) | 2021.03.16 |
[심화예제] 2차원 배열 객체에서의 예외처리 (0) | 2021.03.15 |
예외(exception) 처리 (0) | 2021.03.15 |
[심화예제] 메소드 매개변수로 객체를 보내보자 (0) | 2021.03.12 |