Presentation is loading. Please wait.

Presentation is loading. Please wait.

3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지.

Similar presentations


Presentation on theme: "3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지."— Presentation transcript:

1 3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지

2 4. java.lang 패키지 java.lang 패키지 기본적인 클래스를 포함하는 패키지
import 문을 사용하여 포함하지 않아도 이 패키지 내의 클래스는 자동으로 사용 가능 많이 사용되는 클래스 Object: 기초적인 메소드를 제공하는 모든 클래스의 조상 클래스 Math: 각종 수학 함수들을 포함하는 클래스 Integer, Double, … (Wrapper 클래스) Integer와 같이 기초 자료형을 감싸서 제공하는 랩퍼 클래스들 String, StringBuffer 클래스: 문자열을 다루는 클래스 System: 시스템 정보를 제공하거나 입출력을 제공하는 클래스 Thread: 스레드 기능을 제공하는 클래스 Class 클래스: 클래스에 대한 정보를 얻기 위한 클래스

3 4. java.lang 패키지 Math 클래스

4 4. java.lang 패키지 Math 클래스

5 4. java.lang 패키지 Math 클래스 예제 public class MathTest {
MathTest.java public class MathTest { public static void main(String[] args){ double x = Math.PI; System.out.println(Math.sin(x)); System.out.println(Math.random()); }

6 4. java.lang 패키지 Object 클래스 임의의 객체들이 무조건 상속하게 되는 모든 객체의 조상 클래스

7 4. java.lang 패키지 Class 클래스 Class 클래스 예제 임의의 인스턴스에게 클래스 정보를 가져올 때 활용
ToyTest.java import java.util.Date; interface HasBatteries {} interface Waterproof {} interface ShootsThings {} class Toy { Toy() {} Toy(int i) {} } class FancyToy extends Toy implements HasBatteries, Waterproof, ShootsThings { FancyToy() { super(1);

8 4. java.lang 패키지 Class 클래스 예제 (계속) public class ToyTest {
ToyTest.java public class ToyTest { public static void main(String[] args) throws Exception { Class c = Class.forName("FancyToy"); printInfo(c); Class[] faces = c.getInterfaces(); for(int i = 0; i < faces.length; i++) printInfo(faces[i]); Class cy = c.getSuperclass(); printInfo(cy); Date d = new Date(); printInfo(d.getClass()); } static void printInfo(Class cc) { System.out.println("Class name: " + cc.getName() + " is interface? [" + cc.isInterface() + "]");

9 4. java.lang 패키지 System 클래스 실행 시스템 (자바 가상 머신)과 관련된 속성과 메소드를 제공

10 4. java.lang 패키지 System 클래스 예제 public class SystemTest {
SystemTest.java public class SystemTest { public static void main(String[] args) { System.out.println(System.currentTimeMillis()); System.out.println(System.nanoTime()); System.exit(0); }

11 4. java.lang 패키지 포장 (wrapper) 클래스 기초 자료형을 객체로 포장시켜주는 클래스 포장 클래스의 역할
(예) Integer obj = new Integer(10); 포장 클래스의 역할 저장된 값을 다른 자료형으로 변환 기초 자료형을 문자열로 변환 문자열을 기초 자료형으로 변환

12 4. java.lang 패키지 포장 (wrapper) 클래스 Integer 클래스가 제공하는 메소드

13 4. java.lang 패키지 포장 (wrapper) 클래스 기초 자료형의 문자열 변환 문자열 수치를 기초 자료형 수치로 변환

14 4. java.lang 패키지 포장 (wrapper) 클래스
Java 1.5 부터 제공하는 Auto-boxing 및 Unboxing 기능 Integer box = new Integer(10); System.out.println(box + 1); // box는 자동으로 int형으로 변환

15 4. java.lang 패키지 포장 (wrapper) 클래스 Auto-boxing 및 Unboxing 의 예
Integer intObject = new Integer(10); int intPrimitive = intObject.intValue(); intPrimitive++; intObject = new Integer(intPrimitive); Integer intObject = new Integer(10); intObject++; Boolean isValid = false; // Boxing Short shortObject = 200; // Boxing if(shortObject < 20){ …} // unboxing ArrayList<Integer> list = new ArrayList<Integer>(); for(int i = 0; i < 10; i++){ list.add(i); // Boxing }

16 4. java.lang 패키지 StringBuffer 클래스
StringBuffer와 StringBuilder 클래스는 변경 가능한 문자열을 나타낸다. StringBuilder는 쓰레드안정성에 대한 보장을 하지 않음 대부분의 문자열 처리는 쓰레드 처리와 큰 관계가 없으므로 StringBuilder 를 앞으로 많이 사용하는 것이 추천 하지만, StringBuffer가 그동안 워낙 많이 사용되어 StringBuffer 을 계속 사용하는 것도 나쁘지 않음 StringBuffer sb = new StringBuffer(); // 기본적으로 16바이트의 공간이 할당된다. sb.append("Hello"); // 6바이트가 사용된다.

17 4. java.lang 패키지 StringBuffer 클래스 주요 메소드

18 4. java.lang 패키지 StringBuffer 클래스 예제 1 public class StringSpeedTest {
StringSpeedTest.java public class StringSpeedTest { public static void main(String[] args) { String abc1 = ""; long start = System.nanoTime(); for (int i = 0; i < 10000; i++) { abc1 += "abc"; } long end = System.nanoTime(); System.out.println("Test 1: " + (end - start)); //System.out.println(abc1);

19 4. java.lang 패키지 StringBuffer 클래스 예제 1 (계속)
StringSpeedTest.java StringBuffer abc2 = new StringBuffer(); start = System.nanoTime(); for (int i = 0; i < 10000; i++) { abc2.append("abc"); } end = System.nanoTime(); System.out.println("Test 2: " + (end - start)); //System.out.println(abc2); StringBuffer abc3 = new StringBuffer(30000); abc3.append("abc"); System.out.println("Test 3: " + (end - start)); //System.out.println(abc3);

20 4. java.lang 패키지 StringBuffer 클래스 예제 2 public class StringBufferTest {
StringBufferTest.java public class StringBufferTest { public static void main(String[] args) { StringBuffer sb = new StringBuffer("10+20="); sb.append(10+20); sb.insert(0, "수식 "); System.out.println(sb); }

21 5. java.util 패키지 Random 클래스 인스턴스를 시드(seed)와 함께 생성하여 사용

22 5. java.util 패키지 Random 클래스 예제 import java.util.Random;
StringBufferTest.java import java.util.Random; public class RandomTest { public static void main(String[] args) { Random random = new Random(System.currentTimeMillis()); for (int i = 0; i < 10; i++) System.out.println(random.nextInt(100)); }

23 5. java.util 패키지 Arrays 클래스 정렬 또는 탐색과 관련한 정적 메소드 제공

24 5. java.util 패키지 Arrays 클래스 예제 import java.util.Arrays;
StringBufferTest.java import java.util.Arrays; public class ArraysTest { public static void main(String[] args) { int[] array = { 9, 4, 5, 6, 2, 1 }; Arrays.sort(array); printArray(array); System.out.println(Arrays.binarySearch(array, 9)); Arrays.fill(array, 8); } private static void printArray(int[] array) { System.out.print("["); for (int i = 0; i < array.length; i++) System.out.print(array[i] + " "); System.out.println("]");

25 5. java.util 패키지 Date 클래스 Calendar 클래스 Millisecond 단위로 현재시각을 나타냄
Java 1.2 이후부터 Calendar 클래스 사용이 장려됨 Calendar 클래스 Calendar 객체 얻어오는 방법 Calendar rightNow = Calendar.getInstance();

26 5. java.util 패키지 Calendar 클래스 예제 import java.util.*;
StringBufferTest.java import java.util.*; public class CalendarTest { public static void main(String[] args) { Calendar d = Calendar.getInstance(); System.out.println(d); System.out.println(d.get(Calendar.YEAR) + "년"); System.out.println(d.get(Calendar.MONTH) "월"); System.out.println(d.get(Calendar.DATE) + "일"); d.set(Calendar.HOUR, 12); d.set(Calendar.MINUTE, 34); d.set(Calendar.SECOND, 0); }

27 5. java.util 패키지 StringTokenizer 클래스 문자열을 분석하여서 토큰으로 분리시켜 주는 기능을 제공

28 5. java.util 패키지 StringTokenizer 클래스 예제 import java.util.*;
StringTest.java import java.util.*; public class StringTest { public static void main(String[] args) { StringTokenizer st = new StringTokenizer("Will Java change my life?"); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }

29 5. java.util 패키지 StringTokenizer 클래스 예제
StringTokenizerSample.java import java.util.StringTokenizer; public class StringTokenizerSample { public static void main(String[] args) { StringTokenizer st = new StringTokenizer("a stringtokenizer sample"); System.out.println("tokens count: " + st.countTokens()); while (st.hasMoreElements()) { String token = st.nextElement().toString(); System.out.println("token = " + token); } st = new StringTokenizer("2005/12/ :17:28", "/:- "); String token = st.nextToken();


Download ppt "3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지."

Similar presentations


Ads by Google