제 6 장 패키지 개념과 자바 기본 패키지

Click here to load reader

Upload: gafna

Post on 21-Jan-2016

82 views

Category:

Documents


0 download

DESCRIPTION

제 6 장 패키지 개념과 자바 기본 패키지. 패키지 개념과 필요성. 3 명이 분담하여 자바 응용프로그램을 개발하는 경우 , 동일한 이름의 클래스가 존재할 가능성 있음 -> 합칠 때 오류발생. 디렉터리로 각 개발자의 코드 관리 ( 패키지 ). P roject. FileIO. WebFile.class. FileCopy.class. FileRW.class. Tools.class. Graphic. 이름은 같지만 경로명이 달라 서도 다른 파일로 취급. DObject.class. - PowerPoint PPT Presentation

TRANSCRIPT

PowerPoint

6 JAVA Programming1 3 , -> 2

()ProjectFileIOFileRW.classFileCopy.classWebFile.classTools.classGraphicRect.classLine.classDObject.classCircle.classUIEventHandler.classGUI.classMain.classTools.class 3Project/FileIO/Tools.classProject/UI/Tools.class (package) jar ) JDK rt.jar 4

JDK java.awt.Color () : java.awtjava.awt 5 , import import

import import java.util.Scanner; import java.util.*;* .

public class ImportExample {public static void main(String[] args) {java.util.Scanner scanner = new java.util.Scanner(System.in);}}import java.util.Scanner;public class ImportExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);}}import java.util.*;public class ImportExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);}}6 () 2 : CLASSPATH

java classpath

-classpath

7

CLASSPATH 8

Jdk1.7.0_07 JDK . (5 5-6)abstract class Calculator {public abstract int add(int a, int b);// public abstract int subtract(int a, int b);// public abstract double average(int[] a);// }

class GoodCalc extends Calculator {public int add(int a, int b) {return a+b;}public int subtract(int a, int b) {return a - b;}public double average(int[] a) {double sum = 0;for (int i = 0; i < a.length; i++) sum += a[i];return sum/a.length;}public static void main(String [] args) {Calculator c = new GoodCalc();System.out.println(c.add(2,3));System.out.println(c.subtract(2,3));System.out.println(c.average(new int [] {2,3,4 }));}}9

10 ( : PackageEx)

11 lib

12 app

13 app lib .

14 Calculator Calculator public abstract .

15Calculator , app public .

16GoodCalc.java import .

Calculator .

17 Run Configurations

.main() . PackageEx 18

default API java.lang, java.io

19

JDK JDK C JDK rt.jar C:\Program Files\Java\jdk1.6.0_16\jre\lib\rt.jar

20rt.jar java.awt . javaappletawtbeansiolangmathnetniormisecuritysqltextutilbeancontextspicolordatatransferdndeventfontgeomimimageprintspirenderablechannelscharsetspispiannotationinstrumentmanagementrefreflectaclinterfacescertspecactivationdgcregistryserverconcurrentjarloggingprefsregexspizipatomiclocks2121 java.lang language , , import - import java.util , , , java.io, , , java.awt GUI javax.swing GUI

22 API API Oracle Technology Network(http://docs.oracle.com/javase/7/docs/api/)

23

Object java.lang

protected Object clone() . boolean equals(Object obj)obj true Class getClass() int hashCode() String toString() void notify() .void notifyAll() .void wait() notify() notifyAll() .24 class Point {int x, y;public Point(int x, int y) {this.x = x;this.y = y;}}

public class ObjectProperty {public static void main(String [] args) {Point p = new Point(2,3);System.out.println(p.getClass().getName());System.out.println(p.hashCode());System.out.println(p.toString());System.out.println(p);}}Point12677476Point@c17164Point@c1716425 String toString() : @ hash code + toString()

Point a = new Point(2,3);String s = a + ;System.out.println(s);Point a = new Point(2,3);String s = a.toString()+ ; System.out.println(s);Point@c1716426 toString() class Point {int x, y;public Point(int x, int y) {this.x = x; this.y = y;}public String toString() {return "Point(" + x + "," + y+ ")";}}

public class ObjectProperty {public static void main(String [] args) {Point a = new Point(2,3);System.out.println(a.toString());}}Point(2,3)27 : = boolean equals(Object obj)

Point a = new Point(2,3);Point b = new Point(2,3);Point c = a;if(a == b) // falseSystem.out.println("a==b");if(a == c) // trueSystem.out.println("a==c");class Point {int x, y;public Point(int x, int y) {this.x = x; this.y = y;}}ax=2y=3bx=2y=3cclass Point {int x, y;public Point(int x, int y) {this.x = x; this.y = y;}public boolean equals(Point p) {if(x == p.x && y == p.y) return true;else return false;}}Point a = new Point(2,3);Point b = new Point(2,3);Point c = new Point(3,4);if(a == b) // falseSystem.out.println("a==b");if(a.equals(b)) // trueSystem.out.println("a is equal to b");if(a.equals(c)) // falseSystem.out.println("a is equal to c");bx=2y=3cx=3y=4ax=2y=3PointPointPointPointPointa==ca is equal to b2828 6-1 : Rect equals() class Rect {int width;int height;public Rect(int width, int height) {this.width = width; this.height = height;}public boolean equals(Rect p) {if (width*height == p.width*p.height) return true;else return false;}}int width, height Rect , Rect width, height equals() . Rect width, height .public class EqualsEx {public static void main(String[] args) {Rect a = new Rect(2,3);Rect b = new Rect(3,2);Rect c = new Rect(3,4);if(a.equals(b)) System.out.println("a is equal to b");if(a.equals(c)) System.out.println("a is equal to c");if(b.equals(c)) System.out.println("b is equal to c");}}a is equal to b2929Wrapper 8

Wrapper byteshortintlongcharfloatdoublebooleanWrapper ByteShortIntegerLongCharacterFloatDoubleBoolean30Wrapper Wrapper

Boolean, Short, Byte, Integer, Long, Double, Float

Float double

Integer i = new Integer(10); Character c = new Character(c); Float f = new Float(3.14); Boolean b = new Boolean(true);Boolean b = new Boolean(false);Integer I = new Integer(10);Double d = new Double(3.14);Float f = new Float((double) 3.14);31 Integer

static int bitCount(int i) 1 float floatValue()float int intValue()int long longValue()long short shortValue()short static int parseInt(String s) 10 static int parseInt(String s, int radix) static Sting toBinaryString(int i) static Sting toHexString(int i)16 static Sting toOctalString(int i)8 static Sting toString(int i) 32Wrapper Wrapper

Integer i = new Integer(10);int ii = i.intValue(); // ii = 10

Character c = new Character(c );char cc = c.charValue(); // cc = cint i = Integer.parseInt(123); // i = 123boolean b = Boolean.parseBoolean( true); // b = truefloat f = Float.parseFloat( 3.141592 ); // f = 3.14159233String s1 = Integer.toString(123); // 123 123 String s2 = Integer.toHexString(123); // 123 16 7b String s3 = Float.toString(3.141592f); // 3.141592 3.141592 String s4 = Charater.toString( a ); // a a String s5 = Boolean.toString(true); // true true Float f = new Float(3.14);float ff = f.floatValue(); // ff = 3.14

Boolean b = new Boolean(true);boolean bb = b.booleanValue(); // bb = true 6-2 : Wrapper public class WrapperClassEx {public static void main(String[] args) {Integer i = new Integer(10);char c = '4';Double d = new Double(3.1234566);System.out.println(Character.toLowerCase('A'));if (Character.isDigit(c))System.out.println(Character.getNumericValue(c));System.out.println(Integer.parseInt("-123"));System.out.println(Integer.toBinaryString(28));System.out.println(Integer.toHexString(28));System.out.println(i.doubleValue());System.out.println(d.toString());System.out.println(Double.parseDouble("44.13e-6"));}} Wrapper . ?a4-123161110031c10.03.12345664.413E-534 (boxing) Wrapper (unboxing) .

35

Auto boxing & unboxingJDK 1.5 (Auto boxing) Wrapper (Auto unboxing)Wrapper

36// JDK 1.5 Integer ten = 10; // int i = ten; // 6-3 : public class AutoBoxingUnBoxing {public static void main(String[] args) {int i = 10;Integer intObject = i;// auto boxingSystem.out.println("intObject = " + intObject);

i = intObject + 10;// auto unboxingSystem.out.println("i = " + i);}} ?intObject = 10i = 2037String 38String - java.lang.StringString

String // String str1 = "abcd";

// String char data[] = {'a', 'b', 'c', 'd'};String str2 = new String(data);String str3 = new String("abcd"); // str2 str3 abcd String() String(byte[] bytes) String(String original) String(StringBuffer buffer) new String() , String s = "Hello"; JVM , String , String t = new String("Hello"); String

39

== equals() equals() equals() == 40

40 char charAt(int index) int indexOf(int ch)ch . -1in indexOf(int ch, int fromIndex)fromIndex ch . . -1String concat(String str) boolean contains(CharSequence s) true int length() String replace(Charsequece target, Charsequence replacement)target replacement String[] split(String regex) String subString(int beginIndex) String toLowerCase() String toUpperCase() String trim() 41 int compareTo(String anotherString) 0 == .

String a = "java";String b = "jasa";int res = a.compareTo(b);if(res == 0)System.out.println("the same");else if(res < 0)System.out.println(a +""+b);42java>jasa 43+ + + .toString()

String concat(String str)

String System.out.print(abcd + 1 + true + 3.13e-2 + E+ fgh );// abcd1true0.0313Efgh abcd.concat(efgh);// abcdefg concat() String s1 = abcd;String s2 = efgh;s1s1 = s1.concat(s2);abcds2efghs1abcdefghs2efgh abcd44 , String trim() (tab, enter, space)

char charAt(int index)

String a = " abcd def ";String b = "\txyz\t";String c = a.trim(); // c = "abcd def"String d = b.trim(); // d = "xyz"String a = "class";char c = a.charAt(2); // c = a45// class s int count = 0;String a = "class";for(int i=0; i