표준 API(클래스라이브러리)의 기본 클래스 활용

Slides:



Advertisements
Similar presentations
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
Advertisements

5 장 조건과 반복 ②. Contents Counting and Looping [while 문 사용 ] Powers of 2 [while 문 사용 ] More Guessing [do 문 사용 ] Election Day [do 문 사용 ] Finding Maximum &
어서와 Java는 처음이지! 제3장선택과 반복.
Vision System Lab, Sang-Hun Han
12장 문자열 12.1 문자열의 개요 12.2 String 클래스 12.3 StringBuffer 클래스
자바 키워드 & 문자열 다루기 인터넷 프로그래밍 강의자료 3 (1, 3반) 한용재
제 7주 2015년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
기초적인 자바 클래스들 JDK 라이브러리에 대하여 문자열 관련 클래스들의 사용 방법 날짜/시간 관련 클래스들의 사용 방법
22강 API - I - JAVA필수 API - String의 이해 - String의 문제점
제 6 장 패키지 개념과 자바 기본 패키지 java applet awt beans io lang math net nio rmi
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
11장. 기본 API 클래스.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
어서와 Java는 처음이지! 제4장 배열.
Java Presentation 중간 시험2 풀이
4부 클래스 라이브러리 “4부에서는 자바 언어의 API인 클래스 라이브러리에 관해 설명합니다
윤 홍 란 제3장 클래스와 객체의 사용-1 윤 홍 란
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
명품 JAVA Essential.
정적 메소드와 정적 변수 상수 래퍼 클래스 포매팅
명품 JAVA Essential.
명품 JAVA Programming 제 4 장 클래스와 객체.
3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지.
[INA470] Java Programming Youn-Hee Han
10장 객체-지향 프로그래밍 II ©창병모.
Department of Computer Software MyongJi University
13.5 GregorianCalendar 클래스 13.6 Vector 클래스와 Enumeration 인터페이스
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
Power Java 제10장 배열.
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
Java 11장. 패키지와 주요 클래스 public class SumTest {
Lesson 5. 레퍼런스 데이터형.
Chap09 패키지와 주요 클래스 9.1 패키지 개요와 패키지의 사용 9.2 java.lang 패키지의 개요
Lesson 6. 형변환.
명품 Java Programming.
제 11 장 java.lang 패키지 제 12 장 문자열 제 13 장 유틸리티 제 14 장 입출력 제 15 장 네트워킹
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
윤 홍 란 4 장 클래스 작성 윤 홍 란
Power Java 제7장 클래스와 객체.
제 2 장 변수와 상수.
프로그래밍2 및 실습 C언어 기반의 C++ 2.
Power Java 제20장 패키지.
김준현.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
12장 문자열 12.1 문자열의 개요 12.2 String 클래스 12.3 StringBuffer 클래스.
23강 API - II - 약방의 감초 Random 클래스 - Scanner 및 Sysout - Wrapper 클래스의 이해
5장 조건과 반복 ②.
제2장 데이터 및 수식.
Lesson 4. 수식과 연산자.
DataScience Lab. 박사과정 김희찬 (월)
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
WAP Java Seminar
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
[INA470] Java Programming Youn-Hee Han
컴퓨터공학실습(I) 3주 인공지능연구실.
Java의 정석 제 4 장 조건문과 반복문 Java 정석 남궁성 강의
자바 5.0 프로그래밍.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
자바 5.0 프로그래밍.
6장 클래스(상속).
명품 JAVA Programming.
Choi Younghwan CSE HUFS
자바 가상 머신 프로그래밍 Chapter 3. 메소드 작성하기 Pslab 오민경.
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
Presentation transcript:

표준 API(클래스라이브러리)의 기본 클래스 활용 JDK를 설치하면 수많은(약 3500개) 유용한 클래스들이 제공된다. C:\ProgramFiles\jdk1.x.x\jre\lib\rt.jar 파일에 압축된 형태로 제공 유사한 기능을 제공하는 클래스들은 같은 패키지(package) 단위로 제공 패키지 구성 java.lang : 프로그래밍의 가장 기본적인 클래스들을 제공 java.util : 프로그래밍의 유용한 유틸리티 클래스들을 제공 java.io : 프로그램 입출력과 관련된 클래스들을 제공 java.net : 네트워크 프로그램과 관련된 클래스들을 제공 java.awt : GUI(Window) 프로그램 개발을 위한 클래스들을 제공 java.sql : Database 연동을 위한 클래스들과 인터페이스들을 제공 기타 다양한 패키지들…

“문자열” 처리 관련 클래스 java.lang.String 클래스 java.lang.StringBuffer 클래스 java.util.StringTokenizer 클래스

스레드는 CPU를 추상화하여 만듦 java.lang.String 클래스 “문자열”을 추상화한 클래스로 “문자열” 데이터를 저장하고 “문자열”과 관련된 유용한 기능을 제공하는 클래스이다 다양한 인스턴스 메소드 / 클래스(static) 메소드 제공 특징 String 클래스 인스턴스는 한번 생성된 후에는 변경할 수 없다 char[] 포장 클래스 : char[] 을 이용한 문자열 저장 문자열 리터럴을 이용한 생성(묵시적 생성)시 생성자를 이용한 String 인스턴스 생성과 달리 새로운 인스턴스를 생성하지 않고 “StringPool”을 통해 공유 indexOf … String str = “Java”; // 코드는 아래의 코드와 같다 char[] data = {‘J’, ‘a’, ‘v’, ‘a’}; String str = new String(data); String str1 = “Java”; String str2 = “Java”; // str1과 str2는 동일한 String 인스턴스를 참조한다. 묵시적 생성

String 명시적 생성과 묵시적 생성 차이점 String str1 = new String("Java Programming"); String str2 = new String("Java Programming"); // 레퍼런스 비교 if(str1 == str2){ System.out.println("레퍼런스 같다."); }else{ System.out.println("레퍼런스 다르다."); } String str3 = "Java Programming"; String str4 = "Java Programming"; // 문자열 상수를 이용한 생성시 StringPool에서 // 검색 후 존재하지 않을 경우 새로 생성 if(str3 == str4){ System.out.println(str1 == str3); 문자열 내용은 똑같은데 따로 생성 str1 str2 묵시적 생성 무조건 생성하는것이 아니라 문자열이 저장되는 곳이 있는데 거기서 이 문자열을 검색을 해 그 다음 없으면 만듦 StringPool str3 str4 묵시적 생성 : 똑같은 값 쓸데없이 만들어서 공간 없애지 말고 참조해라 이거야! 메모리 낭비 줄여 주고, 훨씬 효율적

생성된 String 인스턴스는 변경할 수 없다 public static void main(String[] args) { String str = "Java Programming"; str = str + “최고예요”+ “뻥이예요…”; System.out.println(str); } Java Programing 최고예요 뻥이예요

java.lang.String 클래스의 주요 메서드 ★ equals 문자열과 문자열 비교 java.lang.String 클래스의 주요 메서드 int length() String 클래스의 문자열 길이를 반환한다. boolean equals(Object anObject) 두 String 클래스 객체의 내용이 같은지를 비교한다. boolean equalsIgnoreCase (String anotherString) 대소문자 구분 없이 문자열이 같은지를 비교한다. String substring(int beginIndex) beginIndex로 주어진 위치부터 문자열의 마지막까지의 문자열을 반환한다. String concat(String str) 인자로 주어진 문자열을 합친 새로운 String 객체를 반환한다(+ 연산자와 동일한 기능). String replace(char oldChar, char newChar) 기존의 oldChar로 표시된 모든 문자들을 newChar로 표시된 문자로 모두 바꾸어준다 다형성 인자 두 개 주면 범위 /하나면 처음부터 끝까지 + 연산자 대용 문자열과 문자열 붙이고 싶을 때(연결) char를 두 개 만듦 기존 문자를 새로운 문자로 대체시킴 앞에 문자를 뒤에 문자로 대체

java.lang.String 클래스의 주요 메서드 소문자로 변경 String toLowerCase() String 클래스 객체의 모든 문자를 소문자로 바꾼다 String toUpperCase() String 클래스 객체의 모든 문자를 대문자로 바꾼다. char charAt(int index) index로 지정된 곳의 문자값을 반환한다. int indexOf(int ch) 주어진 문자가 존재하는 위치를 알려준다. 존재하지 않으면 -1을 되돌린다. int lastIndexOf(int ch) 주어진 문자가 존재하는 마지막 위치를 알려준다. 존재하지 않으면 -1을 되돌린다. String trim( ) 문자열의 시작과 끝 사이에 있는 공백을 없앤다. static String valueOf (Object obj) 주어진 객체나 기본 데이터형을 문자열로 형변환 하여 반환한다. 대문자로 변경 공백 제거

java.lang.StringBuffer 클래스 StringBuffer sb = new StringBuffer(“Java”); sb.append(“최강의 언어”); // 자체 편집 System.out.println(sb); append concat과 비슷

java.lang.StringBuffer클래스의 주요 메서드 int length() 스트링버퍼 클래스 객체에 저장된 문자의 수를 반환한다. int capacity() 스트링버퍼 클래스 객체에 할당된 문자 배열의 크기를 반환한다. length() 메서드는 실제 저장된 문자의 수이고 이 메서드는 할당된 문자 배열의 크기라는 점이 차이이다. StringBuffer append(String str) str로 주어진 문자열을 스트링버퍼의 문자열에 추가한다. StringBuffer insert(int offset, String str) 정해진 위치에 str로 주어진 문자열을 추가한다. String toString() 스트링버퍼 클래스에 저장된 문자배열로 String 객체로 반환한다 StringBuffer delete(int start, int end) start~(end-1) 위치의 글자를 지운다. StringBuffer deleteCharAt (int index) 주어진 위치의 한문자를 지운다. StringBuffer replace(int start, int end, String str) start~(end-1) 위치의 글자를 지우고 대신 주어진 문자열을 끼워 넣는다. StringBuffer reverse( ) 문자열의 순서를 뒤집는다.

StringBuffer 클래스 주요 메서드 예 public static void main(String[] args) { StringBuffer sb = new StringBuffer(); sb.append("Java"); System.out.println(sb.toString()); sb.append("Programming"); sb.replace(0, 4, "C++"); System.out.println(sb); sb.reverse(); String str = sb.substring(11); System.out.println(str); }

java.util.StringTokenizer 클래스 하나의 “문자열”을 여러 개의 문자열로 분리하는데 사용할 수 있도록 제공되는 유틸리티 클래스이다. 나누는 단위가 되는 문자열을 토큰(Token)이라 한다.  생성자 StringTokenizer(String str) StringTokenizer(String str, String delimeters) str: 파싱 문자열, delimeters: “ ”(공백문자) str: 파싱 문자열, delimeters: 토큰분리자   주요 메서드  int countTokens() 문자열에 있는 토큰의 개수 반환  boolean hasMoreToken() 토큰이 있으면 true, 없으면 false 값을 반환  String nextToken() 다음 토큰 문자열을 반환 String nextToken(String delimiters) delimiters 토큰 분리자를 설정하고 다음 토큰 문자열 반환

StringTokenizer 주요 메소드 예제 public static void main(String[] args) { // 토큰 분리자: 공백문자열 StringTokenizer st1 = new StringTokenizer("김기정 박기정 최기정"); // 토큰 분리자: - StringTokenizer st2 = new StringTokenizer("2012-3-13", "-"); int tokenCount = st2.countTokens(); System.out.println("토큰 갯수: " + tokenCount); while(st2.hasMoreTokens()){//토큰 존재 시 System.out.println(st2.nextToken()); } // 토큰 분리자를 토큰에 포함해서 분리 StringTokenizer st3 = new StringTokenizer("2012-3-13", "-", true); while(st3.hasMoreTokens()){//토큰 존재 시 System.out.println(st3.nextToken());

래퍼(Wrapper : 포장) 클래스 데이터 타입과 관련된 주요 기능 제공 (인스턴스 변수가 됐든 클래스 메소드가 됐든) 8개의 기본 데이터를 객체로 포장하여 다양한 기능을 사용할 수 있도록 8개의 래퍼클래스를 제공한다. boolean  java.lang.Boolean char  java.lang.Character byte  java.lang.Byte short  java.lang.Short int  java.lang.Integer long  java.lang.Long float  java.lang.Float double  java.lang.Double 문자열 -> 정수 형변환

java.lang.Boolean 클래스 기본형 boolean의 값을 Boolean 객체로 포장한다. 생성자  생성자 Boolean(boolean value) Boolean(String str) value 인자를 이용한 Boolean 객체 생성 str 문자열(“true”/“false”)을 이용한 Boolean 객체 생성   주요 메서드 boolean booleanValue() Boolean 객체를 기본형 boolean으로 반환 boolean equals(Object obj) 두 Boolean 객체의 내용이 같은지를 비교 String toString() Boolean 객체를 String 객체로 반환 static Boolean valueOf (String str) String 객체를 Boolean 객체로 반환 객체로 만들어 주는 것 객체를 기본 값으로 만들어 주는 것 생성자 역할과 유사

java.lang.Charater 클래스 기본형 char의 값을 Character 객체로 포장한다. 생성자  생성자  Character( char value)     주요 메서드 public static boolean isDefined(char ch)  ch가 유니코드이면 true, 아니면 false public static boolean isDigit(char ch)  ch가 숫자면 true, 아니면 false public static boolean isLetter(char ch)  ch가 문자면 true, 아니면 false public static boolean isLetterOrDigit(char ch)  ch가 문자․숫자면 true, 아니면 false public static boolean isLowerCase(char ch)  ch가 소문자면 true, 아니면 false public static boolean isSpace(char ch)  ch가 공백이면 true, 아니면 false public static boolean isUpperCase(char ch)  ch가 대문자면 true, 아니면 false public static char toLowerCase(char ch)  ch를 소문자로 변형 public static char toUpperCase(char ch)  ch를 대문자로 변형 숫자인지 문자인지 비교할 때 사용

java.lang.Integer 클래스 기본형 int의 값을 Integer 객체로 포장한다. 정수 관련 처리할 때 사용  생성자  Integer ( int value )  Integer ( String str )   주요 메서드 public byte byteValue() 객체의 값을 byte 형으로 반환 public double doubleValue() 객체의 값을 double 형으로 반환 public float floatValue() 객체의 값을 float 형으로 반환 public int intValue() 객체의 값을 int 형으로 반환 public long longValue() 객체의 값을 long 형으로 반환 public short shortValue() 객체의 값을 short 형으로 반환 public static int parseInt (String str) str 로 지정된 문자열에 해당되는 int 값을 반환 public static int parseInt (String str, int radix) str 로 지정된 문자열에 해당되는 int 값을 radix 로 지정된 진법으로 변환하여 반환 public static Integer valueOf(String str) str 로 지정된 문자열에 해당되는 Integer 객체를 반환 public static String toBinaryString(int num) num 값을 2진수로 표현된 문자열 반환 public static String toHexString(int num) num 값을 16진수로 표현된 문자열 반환 public static String toOctalString(int num) num 값을 8진수로 표현된 문자열 반환 기본 데이터 타입 문자열 인스턴스 메소드 기본 데이터 타입 형변환 리턴타입이 자기 자신 String 2진 코드로 바꿔 줌

java.lang.Double 클래스 기본형 double의 값을 Double 객체로 포장한다. 숫자 x 생성자  생성자  Double ( double value )  Double ( String str )   str 은 double 형의 값과 같은 의미의 문자열(예: “1.23”)   주요 메서드 public byte byteValue() 객체의 값을 byte 형으로 반환 public double doubleValue() 객체의 값을 double 형으로 반환 public float floatValue() 객체의 값을 float 형으로 반환 public int intValue() 객체의 값을 int 형으로 반환 public long longValue() 객체의 값을 long 형으로 반환 public short shortValue() 객체의 값을 short 형으로 반환 public boolean isNaN() 객체의 값이 NaN(Not a Number) 이면 true, 아니면 false 반환 public static boolean isNaN(double num) num 의 값이 NaN 이면 true, 아니면 false 값 반환 public boolean isInfinite() 객체의 값이 NEGATIVE_INFINITY 또는 POSITIVE_INFINITY 이면 true, 아니면 false 값 반환 public static boolean isInfinite(double num) num 값이 NEGATIVE_INFINITY 또는 POSITIVE_INFINITY 이면 true, 아니면 false 값 반환 public static Double valueOf(String str) str 로 지정된 문자열에 해당되는 Double 객체를 반환 숫자 x

Character 주요 메소드 예제 public static void main(String[] args) { char[] data = {'A', 'a', '4',' ', '#'}; for (int i = 0; i < data.length; i++) { if(Character.isUpperCase(data[i])){ System.out.println(data[i] + "은 대문자이다."); }else if(Character.isLowerCase(data[i])){ System.out.println(data[i] + "은 소문자이다."); }else if(Character.isDigit(data[i])){ System.out.println(data[i] + "은 숫자이다."); }else if(Character.isSpaceChar(data[i])){ System.out.println(data[i] + "은 공백문자이다."); }

Integer 주요 메소드 예제 public static void main(String[] args) { Integer integer1 = new Integer(10); Integer integer2 = new Integer("10"); int i1 = integer1.intValue(); int i2 = integer2.intValue(); System.out.println("두수의 합: " + (i1+i2)); String str = "3578"; int i3 = Integer.parseInt(str); System.out.println("10진수를 2진수로:"+Integer.toBinaryString(i3)); System.out.println("10진수를 8진수로:"+Integer.toOctalString(i3)); System.out.println("10진수를 16진수로:"+Integer.toHexString(i3)); }

Double 주요 메소드 예제 public static void main(String[] args) { String str = "123.45"; Double d1 = new Double(str); double result = d1.doubleValue() / 5; System.out.println(result); System.out.println("NaN 체크 : " + Double.isNaN(result)); System.out.println("무한대 체크 : " + Double.isInfinite(result)); System.out.println("double 최대값 : " + Double.MAX_VALUE); System.out.println("double 최소값 : " + Double.MIN_VALUE); }

java.lang.Math 클래스 수학 연산과 관련된 상수(publis static final)와 클래스(static) 메서드를 제공하는 클래스 객체(인스턴스)를 생성하지 않아도 상수나 클래스메서드를 직접 호출하여 사용할 수 있다 예 : Math.PI 또는 Math.abs(-10); 상수 클래스 메소드

java.lang.Math클래스의 주요 메소드 상수 설명 public static final double PI 원주율(3.141592653589793) public static final double E 자연로그의 밑수 (2.718281828459045) 메서드 static int abs(int a) 절대값을 반환 데이터형별로 메소드 오버로딩됨 static double max(double a, double b) a와 b중 큰 값을 반환 static double min(double a, double b) a와 b중 작은 값을 반환 static double log(double a) a에 대한 로그 함수값을 반환함 static long round(double a) a의 반올림값을 반환함 static double sqrt(double a) a의 루트 연산을 반환함 static double pow(double a, double b) a를 b 만큼 몇승함 static double sin(double a) a값에 대한 사인 함수값을 반환 상수 처리 제곱근 구할 때

Math 주요 메소드 예제 public static void main(String[] args) { System.out.println("원주율: " + Math.PI); System.out.println("자연로그의 밑수: "+ Math.E); System.out.println("-20의 절대값: "+ Math.abs(-20)); System.out.println("-20.3의 절대값: "+ Math.abs(-20.3)); System.out.println("최대값: "+ Math.max(50, 30)); System.out.println("최소값: "+ Math.min(1.5, 3.3)); System.out.println("2의 3승 값: "+ Math.pow(2, 3)); System.out.println("69.6의 반올림: "+ Math.round(69.6)); System.out.println("69.3의 절상: "+ Math.ceil(69.3)); System.out.println("69.8의 절하: "+ Math.floor(69.8)); // 임의값 (0.0 <= random < 1.0) System.out.println(Math.random()); // 0 ~ 2 범위의 임의의 값 System.out.println((int)(Math.random()*3)); // 로또 번호(1~45범위의 6개) for (int i = 0; i < 6; i++) { System.out.print((int)(Math.random()*45) + 1 + "\t"); }

ava.util 패키지의 주요 클래스 java.util.Date java.util.Calendar java.util.Random 날짜

java.util.Date 클래스 날짜 및 시간과 관련된 정보를 제공하는 클래스 API Document 참조 요즘은 많이 사용 x 날짜 및 시간과 관련된 정보를 제공하는 클래스 Date 클래스는 정보의 부정확성 때문에 JDK1.1 이후 대부분의 메소드들이 Deprecated(폐기처분) 상태 – 사용 비권장 API Document 참조 정보의 부정확성

java.util.Calendar 클래스 날짜 및 시간과 관련된 정보를 제공하는 추상클래스이다 생성자를 제공하지 않으며 클래스(static)메소드인 getInstance() 메소드를 이용하여 현재 시스템 날짜로 설정된 인스턴스를 얻을 수 있다. new 사용 x Calendar today = Calendar.getInstance(); factory 메소드(시스템에 관련된 것들) 내가 직접 생성하는 것이 아니라 공장에 요청(요청하는 메소드가 바로 호출할 수 있게)

java.util.Calendar클래스의 주요 int형 상수 상수는 ALL 대문자!!! java.util.Calendar클래스의 주요 int형 상수 속성을 나타내는 것들 상수 설명 AM_PM set(int) , get(int)을 위한 상수로, HOUR 상수가 정오 전인지 후인지를 나타낸다 AM 자정부터 정오까지의 시간을 나타내는 AP_PM의 상수 값을 나타낸다 PM 정오부터 자정까지의 시간을 나타내는 AP_PM의 상수 값을 나타낸다 SECOND set(int) , get(int)을 위한 상수로 초를 나타낸다 MILLISECOND set(int) , get(int)을 위한 상수로 밀리세컨드(1/1000초) 나타낸다 MINUTE set(int) , get(int)을 위한 상수로 분을 나타낸다 HOUR_OF_DAY set(int) , get(int)을 위한 상수로 시각(24시간 기준)을 나타낸다 HOUR set(int) , get(int)을 위한 상수로 시각(12시간 기준)을 나타낸다 DATE set(int) , get(int)을 위한 상수로 달의 일을 나타낸다 DAY_OF_MONTH DAY_OF_WEEK set(int) , get(int)을 위한 상수로 주의 일을 나타낸다 SUNDAY 일요일을 나타내는 DAY_OF_WEEK의 상수 값을 나타낸다(월: MONDAY,…) DAY_OF_YEAR set(int) , get(int)을 위한 상수로 올해(365)의 몇일째인지를 나타낸다 WEEK_OF_MONTH set(int) , get(int)을 위한 상수로 현재 달의 몇번째 주인지를 나타낸다 WEEK_OF_YEAR set(int) , get(int)을 위한 상수로 올해의 몇번째 주인지를 나타낸다 MONTH set(int) , get(int)을 위한 상수로 달을 나타낸다 JANUARY 1월을 나타내는 MONTH의 상수 값을 나타낸다(2월:FEBRUARY, …) YEAR set(int) , get(int)을 위한 상수로 년을 나타낸다 범용 메소드 제공

java.util.Calendar클래스의 주요 메소드 get 메소드는 int 형만 가지고 옴 java.util.Calendar클래스의 주요 메소드 상수 설명 void add(int field, int ammount) 주어진 필드에 특정한 시간을 더하거나 뺀다 boolean after(Object when) 현재 객체가 when 이후이면 true 아니면 false 반환한다 boolean before(Object when) 현재 객체가 when 이전이면 true 아니면 false 반환한다 void clear() 현재 객체의 모든 속성의 값을 소거한다 int get(int field) 주어진 필드에 해당하는 값을 반환한다 static Calendar getInstance() 현재의 시간을 가진 Calendar 객체를 반환한다 Date getTime() Date 객체를 반환한다 long getTimeInMillies() 밀리 세컨드를 반환한다 void set(int year, int month, int date, int hour, int minute, int sencond) 년, 월, 일, 시, 분, 초의 값을 설정한다 void set(int field, int amount) 주어진 필드에 해당하는 값을 설정한다 밀리 세컨드: 영국 그리니치 천문대를 기준으로 한 시간(1000 = 1초) 정밀한 시간 계산할 때 사용 field에 들어갈 것이 년을 구할 거면 YEAR 이렇게 들어감 어떤 필드를 어떻게 설정한다

Calendar 주요 메소드 예제 public static void main(String[] args) { Calendar today = Calendar.getInstance(); System.out.println(“오늘의 날짜:” + today.get(Calendar.YEAR) + “년”); System.out.println((today.get(Calendar.MONTH)+1) + “월”); System.out.println(today.get(Calendar.DATE) + “일”); int hour = today.get(Calendar.HOUR); int minute = today.get(Calendar.MINUTE); int second = today.get(Calendar.SECOND); int ampm = today.get(Calendar.AM_PM); if(ampm == Calendar.AM){ System.out.println( “오전”); }else{ System.out.println( “오후”); }

java.util.Random 클래스 다양한 유형의 난수를 제공하는 클래스이다 생성자 설명 Random() 프로그램에서 사용하는 랜덤값 모두 제공 다양한 유형의 난수를 제공하는 클래스이다 생성자 설명 Random() 현재 시간을 초기값으로 객체 생성 Random(long seed) seed 값을 기초로 객체 생성 메서드 boolean nextBoolean() boolean 형의 난수 반환 void nextBytes(byte[] bytes) byte 형의 난수를 생성하여 배열에 저장 int nextInt() int 형의 난수 반환 int nextInt(int seed) 0부터 seed 사이의 int 형 난수 반환(0 <= random < seed) double nextDouble() double 형의 난수 반환 void setSeed(long newSeed) seed를 newSeed로 설정

Random 주요 메소드 예제 public static void main(String[] args) { Random random = new Random(); // 자바 데이터타입별 난수 발생 System.out.println(random.nextBoolean()); System.out.println(random.nextInt()); // -65536 ~ 65535 System.out.println(random.nextInt(100)); // 0~99 System.out.println(random.nextDouble()); // 로또 번호 생성 for (int i = 0; i < 6; i++) { System.out.println(random.nextInt(45)+1); }