국비교육 14일차 Java : String, Calendar, Instance
public static void main(String[] args) {
String[] s = {"안녕하세요", "반갑습니다", "만나서 반갑습니다"};
for(int i=0; i<s.length; i++) {
if(s[i].startsWith("반갑")) {
System.out.println(s[i]);
}
}
} // end of main
// 반갑습니다
public static void main(String[] args) {
String[] s = {"안녕하세요", "반갑습니다", "만나서 반갑습니다"};
for(int i=0; i<s.length; i++) {
if(s[i].endsWith("습니다")) {
System.out.println(s[i]);
}
}
} // end of main
// 반갑습니다
// 만나서 반갑습니다
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("일");
sb.append(",이");
sb.append(",삼");
sb.append(",사");
sb.append(",오");
System.out.println(sb.toString()); // StringBuilder를 toString을 이용하여 String 타입으로 변경
sb.setLength(0); // StringBuilde 초기화
} // end of main
// 일,이,삼,사,오
StringBuffer sb = new StringBuffer();
public static void main(String[] args) {
Date now = new Date(); //현재시각
System.out.println("1. 현재시각 : "+now);
// 1. 현재시각 : Mon Jun 20 18:49:01 KST 2022
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("2. 현재시각 : "+df.format(now));
// 2. 현재시각 : 2022-06-20 18:49:01
String currentTime = String.format("%tF %tT %tA %tZ", now,now,now,now);
// now에 각 format들이 하나씩 들어감
// 3. 현재시각 :2022-06-20 18:49:01 월요일 KST
System.out.println("3. 현재시각 :"+currentTime);
/*
<참고>
날짜 타입 format 설명
--------------------------------------------------
%tF 날짜를 yyyy-mm-dd 형식으로 포맷해주는 것
%tT 날짜의 시각을 HH:MM:SS 형식으로 포맷해주는 것
%tp 오전, 오후를 출력
%tA 요일명 출력
%tY 4자리 년도만 출력
%tB 월의 이름(January, February ...)출력
%tm 월의 01,02,03 ~~ 10,11,12 로 출력
%td 일수를 1~31 로 출력
%te %td와 동일함
%tk 시간을 0~23 으로 출력
%tl 시간을 1~12 으로 출력
%tM 분을 00~59 으로 출력
%tS 초를 00~59 으로 출력
%tZ 타임존을 출력(한국은 KST로 나옴).
*/
} // end of main
public static void main(String[] args) {
Calendar currentDate = Calendar.getInstance();
//현재날짜와 시간을 얻어온다.
int year = currentDate.get(Calendar.YEAR);
int month = currentDate.get(Calendar.MONTH); // 0~11
int month_2 = (currentDate.get(Calendar.MONTH)+1); // 1~12
// 주의해야할 것은 get(Calendar.MONTH)로 얻어오는 값의 범위는
// 1~12가 아니고 0~11이기 때문에
// 월을 구하기 위해서는 +1을 해주어야 한다.
System.out.println(year); // 2022
System.out.println(month); // 5
System.out.println(month_2); // 6
System.out.println(currentDate.get(Calendar.WEEK_OF_YEAR));
//이번 연도의 몇 째 주: 26
// 어제, 오늘, 내일 날짜 나타내기
currentDate = Calendar.getInstance(); //현재
SimpleDateFormat dateft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//=== 어제 시각 나타내기 ===
currentDate.add(Calendar.DATE, -1);
//현재로부터 일수를 더해주는데 -1을 더해주게 되면 어제가 된다.
//currentDate가 지금은 어제 날짜로 바뀐 상태
System.out.println("어제시각: "+dateft.format(currentDate.getTime()));
// currentDate는 캘린더 -> getTime하면 Date 형식으로 바뀜
// dateft.format(Date date)이므로
// Calendar currentDate를 Date 형식으로 바꾸어 주는 것이
// currentDate.getTime()이다.
// 어제시각: 2022-06-19 19:12:50
//=== 현재 시각 나타내기 ===
currentDate = Calendar.getInstance();
//currentDate 초기화 시켜줘서 다시 현재 시각으로 나타내 주어야함.
System.out.println("현재시각: "+dateft.format(currentDate.getTime()));
//현재시각: 2022-06-20 19:12:51
//=== 내일 시각 나타내기 ===
currentDate.add(Calendar.DATE, 1);
// YEAR, MONTH, DATE 등으로 바꿔서 넣으면 한달 전, 일년 전으로도 바꿀 수 있다.
System.out.println("내일시각: "+dateft.format(currentDate.getTime()));
//내일시각: 2022-06-21 19:12:51
} // end of main
field(= attribute, property, 속성) 와 method(= operation, function, 기능, 행위) 로 구성된 클래스를 통해 객체(= instance, 인스턴스)를 만들고, 데이터처리와 같은 상호작용을 만들어진 객체를 가지고 프로그래밍화 하는것을 OOP 라고 부른다.
OOP의 4가지 특징 : 상속성, 추상화(꼭 필요한 것만 가져오는 것), 캡슐화, 다형성