728x90
수업내용
1교시 (09:30-10:20)
- 지난 시간 복습 및 오늘 할 것
- 통칭해서 App : Application
웹 Web Application : 브라우저에 수행되는 프로그램
앱 App : 모바일 디바이스에 수행되는 프로그램
웹 애플리케이션
브라우저에서 수행되는 프로그램 : HTML. CSS. javaScript
미들웨어에서 수행되는 프로그램 : java, jsp. servlet
데이터베이스에서 수행되는 프로그램 : Oracle
2교시 (10:30-11:20)
- Exam_String_3
// 패키지 선언
package a.b.c.ch5;
// 임포트 선언
import java.util.StringTokenizer;
// 클래스 선언
public class Exam_String_3 {
// 상수 선언
// 멤버변수 선언
// 생성자 선언
// 함수 선언
// main() 함수 선언
public void charSplit(String sVal) {
System.out.println("charSplit(String sVal) sVal >>> : " + sVal);
if (sVal != null && sVal.length() > 0) {
sVal = sVal.replace('#', ' ');
String sChar[] = sVal.split(" ");
for (int i=0; i < sChar.length; i++) {
String s = sChar[i];
System.out.println("sChar[" + i + "] >>> : " + s);
for (int j=0; j < s.length(); j++) {
System.out.println("s.charAt(" + j + ") >>> : " + s.charAt(j));
}
}
}
}
public void charToken(String sVal) {
System.out.println("charToken(String sVal) sVal >>> : " + sVal);
if (sVal != null && sVal.length() > 0) {
StringTokenizer st = new StringTokenizer(sVal, "#");
for (int i=0; st.hasMoreTokens(); i++) {
String ss = st.nextToken();
System.out.println(i + "번째 : " + ss);
for (int j=0; j <ss.length(); j++) {
System.out.println("ss.charAt(" + j + ") >>> : " + ss.charAt(j));
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String sVal = "A BC#D EF#G HI#J KL#M NO";
Exam_String_3 ex3 = new Exam_String_3();
ex3.charSplit(sVal);
ex3.charToken(sVal);
}
}
- Exam_String_4
//패키지 선언
package a.b.c.ch5;
// 임포트 선언
import java.util.StringTokenizer;
// 클래스 선언
public class Exam_String_4 {
// 상수 선언
// 멤버 변수 선언
// 생성자 선언
// 함수 선언
public int wordSplit(String str) {
int sCnt = 0;
// 문자열 검증 Validation
if (str != null && str.length() > 0) {
String s[] = str.split(" ");
sCnt = s.length;
}
return sCnt;
}
public int workToken(String str) {
int tCnt = 0;
if (str != null && str.length() > 0) {
StringTokenizer st = new StringTokenizer(str, " ");
tCnt = st.countTokens();
}
return tCnt;
// return new StringTokenizer(str, " ").countTokens();
}
public int aCount(String str) {
int aCnt = 0;
if (str != null && str.length() > 0) {
for (int i=0; i < str.length(); i++ ) {
if ('a' == str.charAt(i)) {
aCnt++;
}
}
}
return aCnt;
}
// main() 함수 선언
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "The Curious Case of Benjamin Button";
Exam_String_4 es4 = new Exam_String_4();
int sCnt = es4.wordSplit(str);
System.out.println("sCnt >>> : " + sCnt);
int tCnt = es4.workToken(str);
System.out.println("tCnt >>> : " + tCnt);
int aCnt = es4.aCount(str);
System.out.println("aCnt >>> : " + aCnt);
}
}
3교시 (11:30-12:20)
- Exam_String_5
package a.b.c.ch5;
public class Exam_String_5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// STT(Speech-to-Text)
// TTS(Text-to-Speech)
String sVal = "Hello Java Testing !!";
boolean bool = sVal.contains("Hello");
boolean bool_1 = sVal.equals("Hello");
System.out.println("bool >>> : " + bool);
String sVal1 = "학교종이 땡땡땡 어서 모이자";
bool = sVal1.contains("학교종");
System.out.println("bool >>> : " + bool);
bool = sVal1.contains("떙땡땡");
System.out.println("bool >>> : " + bool);
// compareTo()
// 리턴 값 : 0, 음수, 양수의 int
// 0 : 두 개의 문자열이 동일
// 양수 : compareTo()를 호출하는 객체가 인자보다 사전적으로 순서가 앞설 때
// 음수 : 인자가 객체보다 사전적으로 순서가 앞설 때
String s1 = "Hello";
String s2 = "Hello";
String s3 = "World";
System.out.println("s1.compareTo(s2) >>> : " + s1.compareTo(s2));
System.out.println("s1.compareTo(s3) >>> : " + s1.compareTo(s3));
System.out.println("s3.compareTo(s1) >>> : " + s1.compareTo(s1));
}
}
4교시 (12:30-13:20)
- Exam_Time_Date
package a.b.c.ch6;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Exam_Time_Date {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Deprecated. : 현재 것보다 더 향상된 버전이 있으니 이것을 사용하지 마시오. 언제 없어질지 모름
// 컴퓨터에서 시간은 : 초로 계산한다. 1 day = 24 * 60 * 60 = 86,400
// 컴퓨터에서 시간은 : 초로 계산한다. 1 year = 365 * 24 * 60 * 60 = 31,546,000
// The leap Second : 윤초 :
// Greenwich mean time (GMT)
// global positioning system (GPS)
// A year y is represented by the integer y - 1900.
// A month is represented by an integer from 0 to 11;
// 0 is January, 1 if February, and so forth; thus 11 is December.
// A date (day of month) is represented by an integer from 1 to 31 in the usual manner.
// Date 클래스는 윤년이 사용 가능
// 컴퓨터 시간 : 클라이언트 시간, 서버 시간
/*
Date 클래스는 epoch 시간 (이포크 시간)을 리턴한다.
1970년 1월 1일 00:00:00 시간을 기준으로 지나간 시간을 millisecond로 반환한다.
*/
Date d = new Date();
// 년
// public int getYear()
int year = d.getYear();
System.out.println("year >>> : " + year);
year = year + 1900;
System.out.println("year + 1900 >>> : " + year);
// 월
// public int getMonth()
int month = d.getMonth();
System.out.println("month >>> : " + month);
month = month + 1;
System.out.println("month + 1 >>> : " + month);
// 일
// public int getDate()
int date = d.getDate();
System.out.println("date >>> : " + date);
String time = year + "." + month + "." + date;
System.out.println("time >>> : " + time);
time = time.replace('.', '-');
System.out.println("time >>> : " + time);
time = time.replace('-', '/');
System.out.println("time >>> : " + time);
String ymd[] = {"yyyy.MM.dd" , "yyyy-MM-dd", "yyyy/MM/dd"};
for (int i=0; i < ymd.length; i++) {
SimpleDateFormat sdf = new SimpleDateFormat(ymd[i]);
System.out.println("sdf >>> : " + sdf);
System.out.println("sdf.format(d) >>> : " + sdf.format(d));
}
}
}
- Exam_Time_Calendar
package a.b.c.ch6;
import java.util.Calendar;
public class Exam_Time_Calendar {
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar cd = Calendar.getInstance();
System.out.println("cd >>> : \n" + cd);
// 년
int y = cd.get(Calendar.YEAR);
System.out.println("y >>> : " + y);
System.out.println("cd.get(1) >>> : " + cd.get(1));
// 월
int m = cd.get(Calendar.MONTH) + 1;
System.out.println("m >>> : " + m);
System.out.println("cd.get(2) + 1 >>> : " + (cd.get(2) +1));
// 일
int d = cd.get(Calendar.DATE);
System.out.println("d >>> : " + d);
System.out.println("cd.get(5) >>> : " + cd.get(5));
int d1 = cd.get(Calendar.DAY_OF_MONTH);
System.out.println("d1 >>> : " + d1);
// 시
int t = cd.get(Calendar.HOUR_OF_DAY); // 24시간
System.out.println("t >>> : " + t);
System.out.println("cd.get(11) >>> : " + cd.get(11));
int t1 = cd.get(Calendar.HOUR); // 12시간
System.out.println("t1 >>> : " + t1);
// 분
int mm = cd.get(Calendar.MINUTE);
System.out.println("mm >>> : " + mm);
System.out.println("cd.get(12) >>> : " + cd.get(12));
// 초
int s = cd.get(Calendar.SECOND);
System.out.println("s >>> : " + s);
System.out.println("cd.get(13) >>> : " + cd.get(13));
String time = "현재 시간은 : "
+ y + "년 "
+ m + "월 "
+ d + "일 "
+ t + "시 "
+ mm + "분 "
+ s + "초 입니다. !!!!";
System.out.println("time >>> : \n" + time);
}
}
- Exam_Time_Clock
package a.b.c.ch6;
import java.util.Calendar;
import java.util.TimeZone;
public class Exam_Time_Clock implements Runnable {
private Thread thread;
public Exam_Time_Clock() {
if(thread == null) {
// this의 의미는 Runnable이 구현된 객체임을 뜻함 (DigitalClock)
thread = new Thread(this);
thread.start();
}
}
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
Calendar cal = Calendar.getInstance();
String now = cal.get(Calendar.YEAR)+"년"+
(cal.get(Calendar.MONTH)+1)+"월"+
cal.get(Calendar.DATE)+"일"+
cal.get(Calendar.HOUR)+"시"+
cal.get(Calendar.MINUTE)+"분"+
cal.get(Calendar.SECOND)+"초";
System.out.println(now);
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Exam_Time_Clock();
}
}
5교시 (14:30-15:20)
- Exam_Time
package a.b.c.ch6;
import java.util.Calendar;
import java.util.TimeZone;
public class Exam_Time {
public static void timeZone() {
String cityID[] = TimeZone.getAvailableIDs();
System.out.println("전세계 도시 수 >>> : " + cityID.length);
for (int i=0; i < cityID.length; i++) {
System.out.println("cityID[" + i + "] >>> : " + cityID[i]);
}
}
public static String cityTime(Calendar cd) {
String time = "현재시간 : "
+ cd.get(Calendar.YEAR)+"년 "
+ (cd.get(Calendar.MONTH)+1)+"월 "
+ cd.get(Calendar.DATE)+"일 "
+ cd.get(Calendar.HOUR)+"시 "
+ cd.get(Calendar.MINUTE)+"분 "
+ cd.get(Calendar.SECOND)+"초";
return time;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// 전 세계 도시명 가져오기
Exam_Time.timeZone();
String strID[] = {
"Asia/Seoul"
,"America/New_York"
,"Europe/Paris"
,"Europe/London"
,"Australiza/Sydney"};
String strName[] = {"서울", "뉴욕", "파리", "런던", "시드니"};
// 도시 시간 가져오기
for (int i=0; i < strID.length; i++ ) {
TimeZone tz = TimeZone.getTimeZone(strID[i]);
Calendar cd = Calendar.getInstance(tz);
String t = Exam_Time.cityTime(cd);
System.out.println(strName[i] + " " + t);
}
}
}
- Exam_Time_1
package a.b.c.ch6;
import java.text.SimpleDateFormat;
public class Exam_Time_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
System.currentTimeMillis()는
현재 시각과 1970년 1월 1일 00:00:00시와의 차이를 long 값으로 전달한다.
*/
// 현재 서버 시간을 long 타입으로 가져오기
long start = System.currentTimeMillis();
System.out.println("start >>> : " + start);
System.out.println("start >>> : "
+ new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss초").format(start));
System.out.println("start >>> : "
+ new SimpleDateFormat("HH시 mm분 ss초").format(start));
System.out.println("start >>> : "
+ new SimpleDateFormat("ss초").format(start));
try {
Thread.sleep(5000);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long end = System.currentTimeMillis();
System.out.println("end >>> : " + end);
System.out.println("end >>> : "
+ new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss초").format(end));
long idle_second = (end - start)/1000;
long idle_minute = (end - start)/(1000 * 60);
long idle_hour = (end - start)/(1000 * 60 * 60);
System.out.println("실행시간 >>> : "+ idle_second + "초");
System.out.println("실행시간 >>> : "+ idle_minute + "분");
System.out.println("실행시간 >>> : "+ idle_hour + "시");
}
}
6교시 (15:30-16:20)
- Exam_Time_DigitalClock
package a.b.c.ch6;
import java.awt.FlowLayout;
import java.awt.Font;
import java.util.Calendar;
import javax.swing.JFrame;
import javax.swing.JLabel;
//나중에 공부하기
//---- 스레드 관련 클래스
//java.lang.Runnable 인터페이스 클래스
//java.lang.Thread 클래스
//---- GUI 관련 클래스
//javax.swing.JFrame 제프레임 클래스
//java.awt.FlowLayout; 플로우레이아웃 클래스
//java.awt.Font; 폰트 클래스
//javax.swing.JLabel; 제이라벨 클래스
public class Exam_Time_DigitalClock extends JFrame implements Runnable {
private Thread thread;
private JLabel label;
public Exam_Time_DigitalClock() {
super("디지털 시계");
setLayout(new FlowLayout());
label = new JLabel();
label.setFont(new Font("Serif", Font.PLAIN, 20));
if (thread == null) {
// this의 의미는 Runnable이 구현된 객체를 뜻함(Exam_Time_DigitalClock)
thread = new Thread(this);
thread.start();
}
add(label);
setBounds(100,100,400,100);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void run() {
while (true) {
Calendar cal = Calendar.getInstance();
String now = cal.get(Calendar.YEAR)+"년"+
(cal.get(Calendar.MONTH)+1)+"월"+
cal.get(Calendar.DATE)+"일"+
cal.get(Calendar.HOUR)+"시"+
cal.get(Calendar.MINUTE)+"분"+
cal.get(Calendar.SECOND)+"초";
label.setText(now);
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame.setDefaultLookAndFeelDecorated(true);
new Exam_Time_DigitalClock();
}
}
7교시 (16:30-17:20)
- Exam_HashMap
package a.b.c.ch6;
import java.util.ArrayList;
import java.util.HashMap;
public class Exam_HashMap {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
제너릭에서의 타입 : 제너릭에서 선언한 Object의 역할을 타입이라고 한다.
<T> : Type
<E> : Element
<K> : Key
<V> : Value
<N> : Number
public V put(K key, V value) // jdk 1.8 // 두번째 오는 매개변수가 리턴형이다.
public V get(Object key) // Value 리턴형을 받는다.
public Object put(Object key, Object value // jdk 1.4
public Object get(Object key)
*/
ArrayList aList = new ArrayList(); // [] : 배열
System.out.println("aList >>> : " + aList);
System.out.println("aList >>> : " + System.identityHashCode(aList));
// HashMap에 저장하는 데이터는 모두 Object이다.
// HashMap 데이터를 꺼내서 사용할 때는 데이터의 원래 형태대로 형변환을 해야 한다.
HashMap hp = new HashMap(); // {} : 배열이 아니다.
System.out.println("hp >>> : " + hp);
System.out.println("hp >>> : " + System.identityHashCode(hp));
hp.put("이름", "홍길동");
System.out.println("hp >>> : " + hp);
hp.put("나이", 30);
System.out.println("hp >>> : " + hp);
hp.put('a', "박주현");
System.out.println("hp >>> : " + hp);
hp.put('이', 27);
System.out.println("hp >>> : " + hp);
System.out.println("hp.size() >>> : " + hp.size());
// key가 같으면 데이터 중 나중 것이 나온다.
hp.put("나이", 23);
System.out.println("hp >>> : " + hp);
System.out.println("hp.size() >>> : " + hp.size());
hp.put('이', 21);
System.out.println("hp >>> : " + hp);
System.out.println("hp.size() >>> : " + hp.size());
// String s0 = hp.get("이름");
Object obj0 = hp.get("이름");
String s0 = (String)obj0; // hp.put("이름", "홍길동");
String s0_1 = hp.get("이름").toString();
String s0_2 = String.valueOf(hp.get("이름"));
String s0_3 = hp.get("이름") + "";
System.out.println("obj0 >>> : " + obj0);
System.out.println("s0 >>> : " + s0);
System.out.println("s0_1 >>> : " + s0_1);
System.out.println("s0_2 >>> : " + s0_2);
System.out.println("s0_3 >>> : " + s0_3);
// Integer s1 = hp.put("나이");
Object obj1 = hp.get("나이");
Integer s1 = (Integer)obj1; // hp.put("나이", 30);
String s1_1 = hp.get("나이").toString();
String s1_2 = String.valueOf(hp.get("나이"));
String s1_3 = hp.get("나이") + "";
System.out.println("obj1 >>> : " + obj1);
System.out.println("s1 >>> : " + s1);
System.out.println("s1_1 >>> : " + s1_1);
System.out.println("s1_2 >>> : " + s1_2);
System.out.println("s1_3 >>> : " + s1_3);
// hp.put('a', "박주현");
// String s2 = hp.put('a');
Object obj2 = hp.get('a');
String s2 = (String)obj2; // hp.put('a', "박주현");
String s2_1 = hp.get('a').toString();
String s2_2 = String.valueOf(hp.get('a'));
String s2_3 = hp.get('a') + "";
System.out.println("obj2 >>> : " + obj2);
System.out.println("s2 >>> : " + s2);
System.out.println("s2_1 >>> : " + s2_1);
System.out.println("s2_2 >>> : " + s2_2);
System.out.println("s2_3 >>> : " + s2_3);
// hp.put('이', 25);
// Integer s3 = hp.put('이');
Object obj3 = hp.get('이');
Integer s3 = (Integer)obj3; // hp.put('이', 25);
String s3_1 = hp.get('이').toString();
String s3_2 = String.valueOf(hp.get('이'));
String s3_3 = hp.get('이') + "";
System.out.println("obj3 >>> : " + obj3);
System.out.println("s3 >>> : " + s3);
System.out.println("s3_1 >>> : " + s3_1);
System.out.println("s3_2 >>> : " + s3_2);
System.out.println("s3_3 >>> : " + s3_3);
}
}
8교시 (17:30-18:30)
- Exam_HashMap_0
package a.b.c.ch6;
import java.util.HashMap;
public class Exam_HashMap_0 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// HashMap의 Key는 해당 프로그램에서 항상 유니크해야 한다.
HashMap hp = new HashMap();
System.out.println("hp 참조변수 주소값 >>> : " + hp);
System.out.println("hp.size >>> : " + hp.size());
hp.put("1", 1);
System.out.println("hp 참조변수 주소값 >>> : " + hp);
System.out.println("hp.size >>> : " + hp.size());
hp.put("2", 2);
System.out.println("hp 참조변수 주소값 >>> : " + hp);
System.out.println("hp.size >>> : " + hp.size());
/*
hp 참조변수 주소값 >>> : {1=1, 2=2}
, : CSV
*/
hp.put("3", 3);
System.out.println("hp 참조변수 주소값 >>> : " + hp);
System.out.println("hp.size >>> : " + hp.size());
hp.put("2", 222);
System.out.println("hp 참조변수 주소값 >>> : " + hp);
System.out.println("hp.size >>> : " + hp.size());
hp.put("2", 222333);
System.out.println("hp 참조변수 주소값 >>> : " + hp);
System.out.println("hp.size >>> : " + hp.size());
}
}
- Exam_HashMap_1
package a.b.c.ch6;
import java.util.ArrayList;
import java.util.HashMap;
public class Exam_HashMap_1 {
public ArrayList hashMap() {
HashMap hm0 = new HashMap();
hm0.put("이름", "홍길동");
hm0.put("나이", "30");
hm0.put("주소", "서울시 송파구");
HashMap hm1 = new HashMap();
hm1.put("이름", "박주현");
hm1.put("나이", "27");
hm1.put("주소", "서울시 구로구");
HashMap hm2 = new HashMap();
hm2.put("이름", "김보은");
hm2.put("나이", "23");
hm2.put("주소", "서울시 동작구");
ArrayList aList = new ArrayList();
aList.add(hm0);
aList.add(hm1);
aList.add(hm2);
return aList;
}
public ArrayList<HashMap<String, String>> hashMapGeneric() {
HashMap<String, String> hm0 = new HashMap<String, String>();
hm0.put("이름", "김건호");
hm0.put("나이", "27");
hm0.put("주소", "부천시 춘의동");
HashMap<String, String> hm1 = new HashMap<String, String>();
hm1.put("이름", "신지현");
hm1.put("나이", "26");
hm1.put("주소", "서울시 금천구");
HashMap<String, String> hm2 = new HashMap<String, String>();
hm2.put("이름", "민현호");
hm2.put("나이", "27");
hm2.put("주소", "서울시 양천구");
ArrayList<HashMap<String, String>> aList =
new ArrayList<HashMap<String, String>>();
aList.add(hm0);
aList.add(hm1);
aList.add(hm2);
return aList;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Exam_HashMap_1 ex1 = new Exam_HashMap_1();
ArrayList aList = ex1.hashMap();
System.out.println("aList.size() >>> : " + aList.size());
for (int i=0; i < aList.size(); i++) {
HashMap hm = (HashMap)aList.get(i);
Object obj1 = hm.get("이름");
String name1 = (String)obj1;
// System.out.println("이름 >>> : " + name1);
Object obj2 = hm.get("나이");
String age1 = (String)obj2;
// System.out.println("나이 >>> : " + age1);
Object obj3 = hm.get("주소");
String addr1 = (String)obj3;
// System.out.println("주소 >>> : " + addr1);
System.out.println(name1 + " : " + age1 + " : " + addr1);
}
ArrayList<HashMap<String, String>> aList1 = ex1.hashMapGeneric();
System.out.println("aList1.size() >>> : " + aList1.size());
for (int i=0; i < aList1.size(); i++) {
HashMap<String, String> hm = aList1.get(i);
String name1 = hm.get("이름");
String age1 = hm.get("나이");
String addr1 = hm.get("주소");
System.out.println(name1 + " : " + age1 + " : " + addr1);
}
}
}
Notes
728x90
'국비지원교육 (22.01-22.07) > 강의노트' 카테고리의 다른 글
22-03-02(수) 024일차 [Java] 파일 IO, 방화벽 (0) | 2022.05.09 |
---|---|
22-02-28(월) 023일차 [Java] HashMap, 입출력(IO) (0) | 2022.05.09 |
22-02-24(목) 021일차 [Java] BigDecimal, 사칙연산을 하는 계산기 만들기, String 자르기(StringTokenizer) (0) | 2022.05.09 |
22-02-23(수) 020일차 [Java] java.util.Math (0) | 2022.04.20 |
22-02-22(화) 019일차 [Java] 예외처리 (0) | 2022.04.20 |