명품 자바 프로그래밍
[명품 자바 프로그래밍] 6장 모듈과 패키지 개념, 자바 기본 패키지 정리
n_0_jun
2024. 10. 22. 14:00
반응형
1. Calendar 클래스 사용
- Calendar 클래스는 날짜와 시간을 다루는 데 사용되는 추상 클래스입니다. Calendar 객체를 생성하여 현재 날짜와 시간을 가져오거나 특정 날짜와 시간을 설정할 수 있습니다.
예제: 현재 날짜 및 시간 출력
import java.util.Calendar;
public class CalendarEx {
public static void printCalendar(String msg, Calendar cal) {
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1; // 월은 0부터 시작하므로 +1
int day = cal.get(Calendar.DAY_OF_MONTH);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
int hour = cal.get(Calendar.HOUR);
int hourOfDay = cal.get(Calendar.HOUR_OF_DAY);
int ampm = cal.get(Calendar.AM_PM);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
int millisecond = cal.get(Calendar.MILLISECOND);
System.out.print(msg + year + "/" + month + "/" + day + "/");
switch(dayOfWeek) {
case Calendar.SUNDAY: System.out.print("일요일"); break;
case Calendar.MONDAY: System.out.print("월요일"); break;
case Calendar.TUESDAY: System.out.print("화요일"); break;
case Calendar.WEDNESDAY: System.out.print("수요일"); break;
case Calendar.THURSDAY: System.out.print("목요일"); break;
case Calendar.FRIDAY: System.out.print("금요일"); break;
case Calendar.SATURDAY: System.out.print("토요일"); break;
}
System.out.print("(" + hourOfDay + "시)");
if (ampm == Calendar.AM) System.out.print("오전");
else System.out.print("오후");
System.out.println(hour + "시 " + minute + "분 " + second + "초 " + millisecond + "밀리초");
}
public static void main(String[] args) {
Calendar now = Calendar.getInstance();
printCalendar("현재 ", now);
Calendar firstDate = Calendar.getInstance();
firstDate.clear();
firstDate.set(2016, 11, 25); // 2016년 12월 25일
firstDate.set(Calendar.HOUR_OF_DAY, 20); // 20시
firstDate.set(Calendar.MINUTE, 30); // 30분
printCalendar("처음 데이트한 날은 ", firstDate);
}
}
2. String 클래스 사용
- String 클래스: 문자열을 다루는 클래스이며, 불변(immutable) 특성을 가지고 있습니다. 문자열을 수정하는 메소드는 새로운 문자열을 반환합니다.
주요 메소드
- concat(): 문자열 합치기.
- trim(): 문자열 양쪽의 공백 제거.
- replace(): 문자열의 특정 부분을 다른 문자열로 교체.
- split(): 문자열을 주어진 구분자로 나누어 배열로 반환.
- substring(): 특정 범위의 문자열을 잘라서 반환.
- charAt(): 특정 인덱스의 문자 반환.
예제: 문자열 처리
String str = " Hello, World! ";
String trimmed = str.trim(); // "Hello, World!"
String replaced = str.replace("World", "Java"); // " Hello, Java! "
String[] parts = str.split(", "); // [" Hello", "World! "]
String sub = str.substring(2, 7); // "Hello"
char ch = str.charAt(1); // ' '
3. StringBuffer 클래스
- StringBuffer: 문자열을 가변(mutable)하게 수정할 수 있는 클래스입니다. 문자열을 추가, 삽입, 삭제 등의 작업을 효율적으로 수행할 수 있습니다.
주요 메소드
- append(): 문자열 추가.
- insert(): 특정 인덱스에 문자열 삽입.
- delete(): 특정 인덱스 범위의 문자열 삭제.
- reverse(): 문자열 뒤집기.
예제: StringBuffer 사용
StringBuffer sb = new StringBuffer("Hello");
sb.append(" World!"); // "Hello World!"
sb.insert(5, ","); // "Hello, World!"
sb.delete(0, 5); // ", World!"
sb.reverse(); // "!dlroW ,"
4. 수학적 기능
- Math 클래스: 다양한 수학적 기능을 제공하는 클래스입니다.
주요 메소드
- Math.PI: 원주율.
- Math.ceil(): 올림.
- Math.floor(): 내림.
- Math.sqrt(): 제곱근.
- Math.exp(): e의 거듭제곱.
- Math.random(): 난수 생성.
예제: 수학적 기능 사용
double a = Math.PI;
System.out.println(Math.PI); // 3.141592653589793
System.out.println(Math.ceil(a)); // 4.0
System.out.println(Math.floor(a)); // 3.0
System.out.println(Math.sqrt(9)); // 3.0
System.out.println(Math.exp(2)); // 7.38905609893065
System.out.println(Math.round(3.14)); // 3
5. 패키지 개념
- 패키지: 관련된 클래스를 그룹화하여 이름 충돌을 방지하고, 코드의 조직화 및 재사용성을 높이는 방법입니다.
패키지 선언
package UI.Tools; // UI.Tools 패키지에 클래스 포함
패키지 임포트
import UI.Tools; // UI.Tools 패키지의 클래스 사용
- 기본 패키지: 모든 클래스는 java.lang 패키지를 기본으로 상속받으며, 기본 패키지에 포함된 클래스들은 항상 import할 필요가 없습니다.
Java에서는 Calendar와 String 클래스, 그리고 패키지를 활용하여 날짜와 시간을 관리하고 문자열을 효율적으로 처리할 수 있습니다. 이러한 기능들은 Java 프로그래밍의 기본적인 도구로, 코드의 가독성과 재사용성을 높이는 데 기여합니다.
반응형