기초적인 자바 클래스들 JDK 라이브러리에 대하여 문자열 관련 클래스들의 사용 방법 날짜/시간 관련 클래스들의 사용 방법

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
12장 문자열 12.1 문자열의 개요 12.2 String 클래스 12.3 StringBuffer 클래스
자바 키워드 & 문자열 다루기 인터넷 프로그래밍 강의자료 3 (1, 3반) 한용재
프로그래밍 개론 Ⅰ 제 3장. 클래스와 객체의 사용 ①.
제 7주 2015년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
22강 API - I - JAVA필수 API - String의 이해 - String의 문제점
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
11장. 기본 API 클래스.
최윤정 Java 프로그래밍 클래스 상속 최윤정
표준 API(클래스라이브러리)의 기본 클래스 활용
파일 입출력에 사용되는 자바 클래스들 JDK 라이브러리의 파일을 다루는 클래스들 파일의 내용을 읽고 쓰는 클래스들
3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지.
자료 구조: Chapter 3 (2)구조체, 포인터
Lesson 3. 입출력과 제어문.
7장 배열 ②.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
Lesson 5. 레퍼런스 데이터형.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 9. 예외처리.
Lesson 6. 형변환.
제 11 장 java.lang 패키지 제 12 장 문자열 제 13 장 유틸리티 제 14 장 입출력 제 15 장 네트워킹
5장. 참조 타입.
제 3장. C보다 나은 C++ II.
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
레퍼런스 타입에 대하여 열거 타입의 선언과 이용
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
2007 1학기 11 프로젝트 기초 실습.
Lesson 7. 클래스와 메소드 - 1.
자바 5.0 프로그래밍.
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
7장 인터페이스와 추상 클래스.
Java 9장. 인터페이스와 예외처리 public class SumTest {
Method & library.
JA A V W. 03.
인터넷응용프로그래밍 JavaScript(Intro).
Lesson 4. 수식과 연산자.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
자바 5.0 프로그래밍.
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
Power Java 제11장 상속.
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
JA A V W. 06.
CHAP 21. 전화, SMS, 주소록.
[ 단원 04 ] 반복과 배열.
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Chapter 10 데이터 검색1.
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
7 생성자 함수.
6 객체.
Presentation transcript:

기초적인 자바 클래스들 JDK 라이브러리에 대하여 문자열 관련 클래스들의 사용 방법 날짜/시간 관련 클래스들의 사용 방법 수학적 계산에 사용되는 클래스들의 사용 방법

01. JDK 라이브러리에 대하여 기초적인 자바 클래스들 JDK 라이브러리란? String 클래스와 System 클래스의 클래스 파일 이런 파일들 안에 JDK 라이브러리의 클래스와 인터페이스들이 들어있습니다.

01. JDK 라이브러리에 대하여 기초적인 자바 클래스들 JDK 라이브러리란? • JDK 라이브러리에 대한 설명이 있는 API 규격서 (1)

01. JDK 라이브러리에 대하여 기초적인 자바 클래스들 JDK 라이브러리란? • JDK 라이브러리에 대한 설명이 있는 API 규격서 (2) 패키지 이름을 선택하면 그에 속하는 클래스와 인터페이스 이름들이 나열됩니다.

01. JDK 라이브러리에 대하여 기초적인 자바 클래스들 JDK 라이브러리란? • JDK 라이브러리에 대한 설명이 있는 API 규격서 (3) 클래스 이름을 선택하면 그에 대한 API 규격서를 볼 수 있습니다.

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 문자열 관련 클래스들 • 자바 프로그램에 있는 문자열은 모두 String 클래스의 객체로 표현됨

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 문자열 관련 클래스들 • String 클래스는 문자열 조작에 적합하지 않음 너무 많은 String 객체를 만들기 때문 • 문자열 조작에 적합한 클래스 : StringBuilder 클래스, StringBuffer 클래스 객체를 많이 만들지 않고 문자열 조작이 가능 • 문자열로부터 작은 단위 문자열을 추출하는 클래스 : StringTokenizer 클래스 “사과 배 복숭아”라는 문자열로부터 “사과”, “배”, 복숭아”를 추출

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 • String 클래스의 API 규격서 필드, 생성자, 메소드 이름을 클릭하면 자세한 설명이 있는 부분으로 이동

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 • 문자열 길이를 가져오는 length 메소드 리턴 타입 메소드가 하는 일에 대한 설명 리턴값 설명

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 • 특정 위치의 문자를 가져오는 charAt 메소드 리턴 타입 파라미터 메소드가 하는 일에 대한 설명 파라미터 설명 리턴값 설명 익셉션 설명

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 [예제 9-1] String 클래스의 length, charAt 메소드 사용 예 1 2 3 4 5 6 7 8 9 10 class StringExample1 { public static void main(String args[]) { String str = "자바 커피"; int len = str.length(); // length 메소드 호출 for (int cnt = 0; cnt < len; cnt++) { char ch = str.charAt(cnt); // charAt 메소드 호출 System.out.println(ch); }

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 • String 클래스의 생성자 (1) char 배열 파라미터를 받는 생성자가 있습니다. String str = new String(arr); 그 생성자를 이용하여 String 객체를 생성합니다.

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 • String 클래스의 생성자 (1) 받는 생성자도 있습니다. String str = new String(“Hello, Java”); 그 생성자를 이용하여 String 객체를 생성합니다.

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 왜 6개가 아니라 4개일까요? 정답 : 4개 왜 6개가 아니라 4개일까요?

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 : 문자열 비교 [예제 9-2] 동등 연산자를 이용한 문자열 비교 프로그램 class StringExample2 { public static void main(String args[]) { String str1 = "자바"; String str2 = "자바"; if (str1 == str2) System.out.println("같음"); else System.out.println("다름"); } class StringExample3 { public static void main(String args[]) { String str1 = new String("자바"); String str2 = new String("자바"); if (str1 == str2) System.out.println("같음"); else System.out.println("다름"); }

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 : 문자열 비교 • 문자열 내용을 비교하는 equals 메소드

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 : 문자열 비교 [예제 9-3] equals 메소드를 이용한 문자열 비교 프로그램 class StringExample4 { public static void main(String args[]) { String str1 = "자바"; String str2 = "자바"; if (str1.equals(str2)) System.out.println("같음"); else System.out.println("다름"); } class StringExample5 { public static void main(String args[]) { String str1 = new String("자바"); String str2 = new String("자바"); if (str1.equals(str2)) System.out.println("같음"); else System.out.println("다름"); }

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 : 문자열 추출 • 부분 문자열(substring)을 추출하는 substring 메소드 substirng을 추출하는 두 개의 메소드

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 : 문자열 추출 [예제 9-4] String 클래스의 substring 메소드 사용 예 1 2 3 4 5 6 7 class StringExample6 { public static void main(String args[]) { String str = "뇌를 자극하는 자바"; System.out.println(str.substring(3)); System.out.println(str.substring(3, 7)); }

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 : 문자열 조작 메소드 기능 String concat(Strin str) 문자열 뒤에 str을 연결 String trim() 문자열의 앞뒤 공백을 제거 String toUpperCase() 문자열의 모든 소문자를 대문자로 교체 String toLowerCase() 문자열의 모든 대문자를 소문자로 교체 String replace(char oldChar, char newChar) 문자열에 포함된 oldChar를 모두 newChar로 교체

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 String 클래스 : 문자열 조작 1 2 3 4 5 6 7 8 9 10 11 12 13 class StringExample7 { public static void main(String args[]) { String str1 = " Let it be. "; String str2 = str1.trim(); System.out.println(str2); System.out.println(str2.concat(" Speaking words of wisdom.")); System.out.println(str2.toUpperCase()); System.out.println(str2.toLowerCase()); System.out.println(str2.replace('e', 'a')); System.out.println(str1); }

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringBuilder 클래스와 StringBuffer 클래스 생성자의 사용 방법이 같습니다. [StringBuilder 클래스의 API 규격서] [StringBuffer 클래스의 API 규격서] 메소드의 기능과 사용 방법도 같습니다.

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringBuilder 클래스

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringBuilder 클래스 메소드 기능 StringBuilder append(String str) 문자열 뒤에 str을 덧붙임 StringBuilder insert(int offset, String str) 문자열의 offset 위치에 str을 삽입 StringBuilder delete(int start, int end) start부터 end - 1까지의 부분 문자열을 삭제 StringBuilder deleteCharAt(int index) index 위치에 있는 하나의 문자를 삭제

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringBuilder 클래스 1 2 3 4 5 6 7 8 9 10 class StringBuilderExample1 { public static void main(String args[]) { StringBuilder sb = new StringBuilder("역사를 하노라고 맨땅을 파다가 "); System.out.println(sb); System.out.println(sb.append("커다란 고인돌을 끄집어 내어놓고 보니")); System.out.println(sb.insert(26, "하나 ")); System.out.println(sb.delete(21, 23)); System.out.println(sb.deleteCharAt(9)); }

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringBuilder 클래스 • 버퍼 크기를 리턴하는 capacity 메소드

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringBuilder 클래스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class StringBuilderExample2 { public static void main(String args[]) { StringBuilder sb = new StringBuilder("푸른 산빛을"); printStringBuilder(sb); sb.append(" 깨치고 적은 길을 걸어서 참어 떨치고 갔습니다."); sb.insert(10, " 단풍나무 숲을 향하여 난"); } static void printStringBuilder(StringBuilder sb) { String str = sb.toString(); int len = sb.length(); int bufSize = sb.capacity(); System.out.printf("%s(%d): %d %n", str, len, bufSize); 버퍼의 문자열을 String 객체로 만들어서 리턴하는 메소드 버퍼의 문자열 길이를 리턴하는 메소드 “문자열(길이): 버퍼크기” 포맷으로 출력

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringBuilder 클래스 • 버퍼 크기를 늘리는 ensureCapacity 메소드 파라미터가 ((원래의 버퍼크기 X 2) + 2)보다 작으면; ((원래의 버퍼크기 X 2) + 2)로 버퍼의 크기를 늘임

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringBuilder 클래스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class StringBuilderExample3 { public static void main(String args[]) { StringBuilder sb = new StringBuilder("푸른 산빛을"); sb.ensureCapacity(50); printStringBuilder(sb); sb.append(" 깨치고 적은 길을 걸어서 참어 떨치고 갔습니다."); sb.insert(10, " 단풍나무 숲을 향하여 난"); } static void printStringBuilder(StringBuilder sb) { String str = sb.toString(); int len = sb.length(); // length는 문자열의 길이를 리턴하는 메소드 int bufSize = sb.capacity(); System.out.printf("%s(%d): %d %n", str, len, bufSize);

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringBuilder 클래스 1 2 3 4 5 6 7 8 9 class StringBuilderExample4 { public static void main(String args[]) { StringBuilder sb = new StringBuilder(100); sb.append("자바"); System.out.println(sb + ": " + sb.capacity()); sb.trimToSize(); } 과도한 버퍼 크기를 적당하게 줄이는 메소드

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringTokenizer 클래스 [예] “토끼 강아지 고양이”로부터 “토끼”, “강아지”, “고양이”를 추출 문자열을 구성하는 단위

더 이상 추출할 토큰이 없으면 NoSuchElementException 발생 기초적인 자바 클래스들 02. 문자열에 관련된 클래스들 StringTokenizer 클래스 • 사용 방법 1) StringTokenizer 객체를 생성 2) nextToken 메소드를 이용하여 토큰 추출 더 이상 추출할 토큰이 없으면 NoSuchElementException 발생

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringTokenizer 클래스 • NoSuchElementException이 발생하지 않게 하려면;

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringTokenizer 클래스 1 2 3 4 5 6 7 8 9 10 import java.util.StringTokenizer; class StringTokenizerExample1 { public static void main(String args[]) { StringTokenizer stok = new StringTokenizer("사과 배 복숭아"); while (stok.hasMoreTokens()) { String str = stok.nextToken(); System.out.println(str); }

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringTokenizer 클래스 • 구획 문자(delimeter) 지정하기

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringTokenizer 클래스 [예제 9-11] 공백문자가 아닌 구획문자를 이용하여 토큰을 추출하는 예 1 2 3 4 5 6 7 8 9 10 import java.util.StringTokenizer; class StringTokenizerExample2 { public static void main(String args[]) { StringTokenizer stok = new StringTokenizer("사과,배,복숭아", ","); while (stok.hasMoreTokens()) { String str = stok.nextToken(); System.out.println(str); }

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringTokenizer 클래스 • 여러 개의 구획 문자(delimeter) 지정하기

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringTokenizer 클래스 • 구획 문자(delimeter)도 토큰으로 추출하기

02. 문자열에 관련된 클래스들 기초적인 자바 클래스들 StringTokenizer 클래스 [예제 9-12] 구획문자를 토큰으로 추출하는 예 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import java.util.*; class StringTokenizerExample3 { public static void main(String args[]) { StringTokenizer stok = new StringTokenizer("사과=10|초콜렛=3|샴페인=1", "=|", true); while (stok.hasMoreTokens()) { String token = stok.nextToken(); if (token.equals("=")) System.out.print("\t"); else if (token.equals("|")) System.out.print("\n"); else System.out.print(token); } 토큰이 "="이면 탭 문자, "|"이면 줄 바꿈 문자, 그 밖의 문자열이면 토큰을 출력합니다.

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 시스템 시계와 날짜/시간 관련 클래스 • 시스템 시계(system clock) 컴퓨터에 내장되어 있는 현재 시각을 가리키는 시계 • Calendar 클래스와 GregorianCalendar 클래스 시스템 시계로부터 현재 시각을 읽어오는 기능의 클래스

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 Calendar 클래스

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 GregorianCalendar 클래스 Calendar 클래스를 상속하는 GregorianCalendar 클래스

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 시스템 시계에 대하여 GMT 2007년 1월 1일 0시 • 배터리로 작동 : 항상 현재 시각을 가리킴 • 다음 시각을 기점으로 하는 밀리세컨드 단위로 시각 표시 GMT 2007년 1월 1일 0시 1167609600000

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 GregorianCalendar 클래스 • 사용 방법 1) 시스템 시계로부터 현재 시각 읽어오기 2) GregorianCalendar 객체로부터 년월일시분초 얻어내기

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 Calendar 클래스 get 메소드의 리턴 값도 일부 상수로 선언되어 있습니다. Calendar 클래스에는 get 메소드에 사용할 수 있는 이런 상수들이 선언되어 있습니다.

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 Calendar 클래스와 GregorianCalendar 클래스 [예제 9-13] 현재의 날짜와 시간을 출력하는 프로그램 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import java.util.GregorianCalendar; import java.util.Calendar; class CalendarExample1 { public static void main(String args[]) { GregorianCalendar calendar = new GregorianCalendar(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int date = calendar.get(Calendar.DATE); int amPm = calendar.get(Calendar.AM_PM); int hour = calendar.get(Calendar.HOUR); int min = calendar.get(Calendar.MINUTE); int sec = calendar.get(Calendar.SECOND); String sAmPm = amPm == Calendar.AM ? "오전" : "오후"; System.out.printf("%d년 %d월 %d일 %s %d시 %d분 %d초", year, month, date, sAmPm, hour, min, sec); } 월(月)은 0 ~ 11로 리턴되기 때문에 1을 더했습니다. 연월일 시분초를 주어진 포맷으로 출력합니다.

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 시간대(time zone)에 대하여 • 시간대 : 동일 시각을 사용하는 지구상의 구역 • 컴퓨터가 사용하는 시간대는 운영체제에서 설정할 수 있음 윈도우즈 운영체제의 시간대를 설정하는 윈도우

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 시간대 설정하기 • GregorianCalendar 클래스의 setTimeZone 메소드 호출

기초적인 자바 클래스들 03. 날짜와 시간에 관련된 클래스들 시간대 설정하기 • TimeZone 객체를 얻는 방법

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 시간대 설정하기 [예제 9-14] 런던의 현재 날짜와 시간을 출력하는 프로그램 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.util.*; class CalendarExample2 { public static void main(String args[]) { Calendar calendar = new GregorianCalendar(); TimeZone timeZone = TimeZone.getTimeZone("Europe/London"); calendar.setTimeZone(timeZone); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int date = calendar.get(Calendar.DATE); int amPm = calendar.get(Calendar.AM_PM); int hour = calendar.get(Calendar.HOUR); int min = calendar.get(Calendar.MINUTE); int sec = calendar.get(Calendar.SECOND); String sAmPm = amPm == Calendar.AM ? "오전" : "오후"; System.out.printf("%d년 %d월 %d일 %s %d시 %d분 %d초", year, month, date, sAmPm, hour, min, sec); }

GregorianCalendar 객체를 생성합니다. 기초적인 자바 클래스들 03. 날짜와 시간에 관련된 클래스들 특정 날짜와 시간 표현하기 • GregorianCalendar 클래스의 생성자 파라미터를 이용 파라미터로 주어진 시각 정보를 갖는 GregorianCalendar 객체를 생성합니다.

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 날짜와 시간을 포맷하는 클래스 • DateFormat 클래스 - 날짜와 시각의 포맷 기능을 제공하는 클래스 - 추상 클래스이므로 직접 사용은 불가능 • SimpleDateFormat 클래스 - DateFormat 클래스의 서브클래스 - 추상 클래스가 아니므로 직접 사용 가능

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 SimpleDateFormat 클래스 • 사용 방법 1) 생성자 파라미터로 날짜와 시간의 포맷을 넘겨줍니다. 패턴 문자 의미 y 년 M 월 d 일 D 일 (1 ~ 365) E 요일 a 오전/오후 패턴 문자 의미 H 시 (0 ~ 23) h 시 (1 ~ 12) K 시 (0 ~ 11) k 시 (1 ~ 24) m 분 s 초 S 1/1000초

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 SimpleDateFormat 클래스 • 사용 방법

GregorianCalendar 객체를 Date 객체로 기초적인 자바 클래스들 03. 날짜와 시간에 관련된 클래스들 SimpleDateFormat 클래스 [예제 9-15] 날짜와 시간을 포맷하는 프로그램 1 2 3 4 5 6 7 8 9 10 import java.util.*; import java.text.*; // SimpleDateFormat 클래스가 속하는 패키지 class DateFormatExample1 { public static void main(String args[]) { GregorianCalendar calendar = new GregorianCalendar(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy년 MM월 dd일 aa hh시 mm분 ss초"); String str = dateFormat.format(calendar.getTime()); System.out.println(str); } GregorianCalendar 객체를 Date 객체로 만들어서 format 메소드를 호출합니다.

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 SimpleDateFormat 클래스 • 날짜/시간을 특정 시간대로 포맷하는 방법 format 메소드를 호출하기 전에 setTimeZone 메소드를 호출하면 됩니다. TimeZone 클래스의 객체

03. 날짜와 시간에 관련된 클래스들 기초적인 자바 클래스들 SimpleDateFormat 클래스 [예제 9-16] 날짜/시간을 특정 시간대로 포맷하는 예 1 2 3 4 5 6 7 8 9 10 11 import java.util.*; import java.text.*; class DateFormatExample2 { public static void main(String args[]) { GregorianCalendar calendar = new GregorianCalendar(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy년 MM월 dd일 aa hh시 mm분 ss초"); dateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York")); String str = dateFormat.format(calendar.getTime()); System.out.println(str); } 뉴욕에 해당하는 TimeZone 객체를 가지고 setTimeZone 메소드를 호출합니다.

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Math 클래스 정적 메소드와 상수로 구성된 Math 클래스

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Math 클래스 • Math 클래스가 제공하는 정적 메소드 설명 double pow(double a, double b) a의 b승을 리턴 double sqrt(double a) a의 제곱근을 리턴 double cbrt(double a) a의 세제곱근을 리턴 double log(double a) a의 자연로그를 리턴 double log10(double a) a의 상용로그를 리턴 double sin(double a) double cos(double a) double tan(double a) a의 sine, cosing, tangent 값을 리턴 double asin(double a) double acos(double a) double atan(double a) a의 arc sine, arc cosine, arc tangent 값을 리턴 int abs(int a) long abs(long a) float abs(float a) double abs(double a) a의 절대치를 리턴 int max(int a, int b) long max(long a, long b) float max(float a, float b) double max(double a, double b) a와 b 중 큰 값을 리턴 int min(int a, int b) long min(long a, long b) float min(float a, float b) double min(double a, double b) a와 b 중 작은 값을 리턴

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Math 클래스 1 2 3 4 5 6 7 8 class MathExample1 { public static void main(String args[]) { System.out.println("2의 3승은 " + Math.pow(2, 3)); System.out.println("16의 제곱근은? " + Math.sqrt(16)); System.out.println("4와 7 중 큰 수는? " + Math.max(4, 7)); System.out.println("4와 7 중 작은 수는? " + Math.min(4, 7)); }

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Math 클래스 • 삼각함수 계산에 사용되는 상수 π 값을 표현하는 상수

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Math 클래스 1 2 3 4 5 6 7 class MathExample2 { public static void main(String args[]) { System.out.println("sin(pi) = " + Math.sin(Math.PI)); System.out.println("cos(pi) = " + Math.cos(Math.PI)); System.out.println("tan(pi) = " + Math.tan(Math.PI)); }

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Math 클래스 [예제 9-19] Math.random 메소드를 이용하여 난수를 발생하는 프로그램 1 2 3 4 5 6 7 class MathExample3 { public static void main(String args[]) { System.out.println(Math.random()); } 프로그램을 실행할 때마다 다른 결과가 나옵니다.

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Math 클래스 • random 메소드의 활용 방법 0부터 1까지의 소수 난수를 0부터 9까지의 정수 난수로 만드는 식

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Random 클래스 • 사용 방법 1) Random 클래스의 객체를 생성합니다. 2) 생성된 객체에 대해 난수 발생 메소드를 호출합니다.

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Random 클래스 • Random 클래스의 난수 발생 메소드 설명 int nextInt() int 타입 난수를 리턴 ong nextLong() long 타입 난수를 리턴 float nextFloat() 0 이상 1 미만의 float 타입 난수를 리턴 double nextDouble() 0 이상 1 미만의 double 타입 난수를 리턴 boolean nextBoolean() true와 false 중 한 값을 랜덤하게 리턴 int nextInt(int n) 0 이상 n 미만의 int 타입 난수를 리턴 void nextBytes(byte[] arr) 파라미터로 주어진 배열을 난수로 채움 double nextGuaussian() 평균 0.0, 표준편차 1.0으로 정규분포된 난수를 리턴

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Random 클래스 1 2 3 4 5 6 7 8 9 import java.util.*; class RandomExample1 { public static void main(String args[]) { Random random = new Random(); System.out.println(random.nextInt(100)); } 프로그램을 실행할 때마다 다른 결과가 나옵니다.

04. 수학적 계산에 사용되는 클래스들 기초적인 자바 클래스들 Random 클래스 1 2 3 4 5 6 7 8 9 import java.util.*; class RandomExample2 { public static void main(String args[]) { Random random = new Random(349239L); System.out.println(random.nextInt(100)); } 몇번을 실행해도 같은 결과가 나옵니다.