基礎(chǔ)類和工具類課件_第1頁
基礎(chǔ)類和工具類課件_第2頁
基礎(chǔ)類和工具類課件_第3頁
基礎(chǔ)類和工具類課件_第4頁
基礎(chǔ)類和工具類課件_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、4.2.2 對象初始化-靜態(tài)調(diào)用public class ObjectCreation TestClass testClass = new TestClass(fieldValue);static TestClass testClass2 = new TestClass(staticValue);static testClass2.test();public ObjectCreation() System.out.println(ObjectCreation init);public ObjectCreation(String name) System.out.println(ObjectCr

2、eation + name + init);1面向?qū)ο缶幊蘰ublic static void main(String args) ObjectCreation objectCreation = new ObjectCreation(object1);ObjectCreation objectCreation2 = new ObjectCreation(object2);class TestClass public TestClass(String name) System.out.println(TestClass + name + init);void test() System.out.

3、println(makeInner() invoked);2面向?qū)ο缶幊?面向?qū)ο缶幊袒A(chǔ)類和工具類4面向?qū)ο缶幊讨饕獌?nèi)容 Java類庫 語言基礎(chǔ)類 向量類 工具類5面向?qū)ο缶幊蘆ava類庫Java的類庫是系統(tǒng)提供的已實現(xiàn)的標準類的集合,是Java編程的API(Application Program Interface),它可以幫助開發(fā)者方便、快捷地開發(fā)Java程序。這些系統(tǒng)定義好的類根據(jù)實現(xiàn)的功能不同,可以劃分成不同的集合,每個集合是一個包,合稱為類庫。 Java的類庫大部分是由它的發(fā)明者SUN公司 提供的,這些類庫稱為基礎(chǔ)類庫(JFC)。API 應(yīng)用程序編程接口面向過程語言 函數(shù)庫(子程序

4、包)面向?qū)ο笳Z言 類庫6面向?qū)ο缶幊蘆ava類庫類庫的結(jié)構(gòu)java.lang 語言基礎(chǔ)類庫(System、Math、 Thread、基本數(shù)據(jù)類型類)java.util Java的工具類庫(向量、棧、日期)java.io Java的標準輸入輸出類庫java.applet 用于實現(xiàn)Java Applet小程序的類庫java.awt 用于構(gòu)建圖形用戶界面的類庫java.awt.event 界面用戶交互控制和事件響應(yīng)類 庫 Java的用于實現(xiàn)網(wǎng)絡(luò)功能的類庫使用JDK Document查看類庫7面向?qū)ο缶幊陶Z言基礎(chǔ)類庫-Object類Java程序中所有類的直接或間接父類,也是類庫中所有類的的父類,所有的

5、其他類都是從Object類派生。構(gòu)造方法:Object( )一般方法:Object clone( ) 生成當前對象的一個拷貝。boolean equals(Object obj) 比較兩個對象是否 相同。Class getClass() 獲取當前對象所屬的類信息。String toString() 用來返回當前對象本身的有關(guān) 信息。8面向?qū)ο缶幊蘰ublic class BasicObjectDemo public static void main(String args) A a1 = new A();A a2 = new A();A a3 = a1;B b = new B();System

6、.out.println(a1.equals(a2);System.out.println(a3.equals(a1);System.out.println(a1.hashCode();System.out.println(a1.toString();class A class B 9面向?qū)ο缶幊虒嵗齪ublic class PhoneNumber private String region;private String number;public String toString() return book.ch6.PhoneNumber + region= + region + + , nu

7、mber= + number + + ;10面向?qū)ο缶幊蘏ystem類屬性public static InputStream in public static PrintStream outpublic static PrintStream err 獲取系統(tǒng)信息、完成系統(tǒng)操作的方法public static long currentTimeMillis(); 獲取自1970年1月1日零時至當前系統(tǒng)時刻的微秒數(shù) 972370687290public static void exit(int status); 強制Java虛擬機退出運行狀態(tài),并把狀態(tài)信息status 返回給運行虛擬機的操作系統(tǒng)。

8、System .exit(0);public static void gc(); 強制調(diào)用Java虛擬機的垃圾回收功能。 11面向?qū)ο缶幊陶Z言基礎(chǔ)類庫:System類 System是一個功能強大的類,它提供了標準輸入輸出、運行時的系統(tǒng)信息等工具系統(tǒng)功能類獲取系統(tǒng)標準輸入/輸出System.in,System.out,System.err獲取系統(tǒng)信息System.currentTimeMillis( )執(zhí)行系統(tǒng)操作System.exit(0);System.gc( );12面向?qū)ο缶幊陶Z言基礎(chǔ)類庫:數(shù)據(jù)類型類基本數(shù)據(jù)類型 vs. 數(shù)據(jù)類型類boolean vs Boolean, char vs

9、Character等數(shù)據(jù)類型類規(guī)定了數(shù)據(jù)類型的最大值、最小值構(gòu)造函數(shù):如new Integer(10);完成不同數(shù)據(jù)類型間轉(zhuǎn)換,注意不同的數(shù)據(jù)類使用的方法會有不同。Double.toString(0.08)、Integer.parseInt(“123”)、 Double.ValueOf(“0.08”).intValue ()等,見JDK Doc13面向?qū)ο缶幊陶Z言基礎(chǔ)類庫:Math類Math類用來完成常用的數(shù)學運算數(shù)學常量:E,PI數(shù)學運算Math.abs(- 8.09);Math.exp( 5.7);Math.random();Math.sqrt(9.08);Math.pow( 2,3);

10、/乘方Math.round(99.6);均為static,使用時無需創(chuàng)建實例 Math.method(variable);14面向?qū)ο缶幊虜?shù)學運算的Math類屬性public final static double E; / 數(shù)學常量epublic final static double PI; / 圓周率常量方法(均為靜態(tài)方法) public static int abs(int i); public static double sin(double a); public static double log(double a); public static double max(double

11、 a, double b); public static double pow(double a, double b); public static double random(); / 產(chǎn)生01之間偽 隨機數(shù)15面向?qū)ο缶幊虜?shù)學運算的Math類public static double exp(double a);public static int round(float a);public static double sqrt(double a);例:System.out.println(Math.E); 2.718281828.System.out.println(Math.PI); 3.

12、14159265System.out.println(Math.pow( 2,3); 8.0System.out.println(Math.round(99.6); 100System.out.println(Math.abs(- 8.09); 8.0916面向?qū)ο缶幊蘰ublic class StringDemo public static void main(String args) String s;s = String test ;s = new String(String test );int stringLength = s.length();System.out.println(

13、stringLength = + stringLength);boolean startTest = s.startsWith(Str);boolean endTest = s.endsWith(est);System.out.println(startTest = + startTest);System.out.println(endTest = + endTest);int blankIndex = s.indexOf( );System.out.println(blankIndex = + blankIndex);字符串相關(guān)類String17面向?qū)ο缶幊蘨nt subStringInde

14、x = s.indexOf(est);System.out.println(subStringIndex = + subStringIndex);int lastIndex = s.lastIndexOf(s);System.out.println(lastIndex = + lastIndex);String s2 = String test2;int compare = pareTo(s);System.out.println(compare = + compare);boolean equalTest = s2.equals(s);System.out.println(equalTest

15、 = + equalTest);char singleChar = s.charAt(3);System.out.println(singleChar = + singleChar);18面向?qū)ο缶幊蘏tring subString = s.substring(3);System.out.println(subString = + subString);String trimString = s.trim();System.out.println(trimString = + trimString + );String upperCase = s.toUpperCase();System.ou

16、t.println(upperCase = + upperCase);String lowerCase = s.toLowerCase();System.out.println(lowerCase = + lowerCase);19面向?qū)ο缶幊套址嚓P(guān)類StringBufferpublic class StringBufferDemo public static void main(String args) StringBuffer buffer = new StringBuffer();buffer.append(S);buffer.append(tringBuffer);System.o

17、ut.println(buffer.charAt(1);System.out.println(buffer.capacity();System.out.println(buffer.indexOf(tring);System.out.println(buffer = + buffer.toString();揭秘StringBuffer的capacity.mht20面向?qū)ο缶幊?.3 集合Collection-Set:不允許重復(fù)元素存在;無保存順序-List:允許重復(fù)元素存在,保存順序-Iterator接口:可以用來遍歷集合所有數(shù)據(jù)-Map接口:表示關(guān)鍵字-值的集合21面向?qū)ο缶幊?.3 集合-

18、Setpublic class SetDemo public static void main(String args) Set set = new HashSet();set.add(1);set.add(2);set.add(3);set.add(4);set.add(new Integer(1);set.add(new Double(7.0);set.add(3);System.out.println(set = + set);22面向?qū)ο缶幊?.3 集合 -Listpublic class ListDemo public static void main(String args) Li

19、st list = new ArrayList();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);list.add(new Double(7.0);list.add(4);System.out.println(list = + list);23面向?qū)ο缶幊蘄terator接口public class IteratorDemo public static void main(String args) Set set = new HashSet();set.add(1);set.add(2);set.add(3);set.a

20、dd(4);set.add(new Integer(1);set.add(new Double(7.0);Iterator iterator=set.iterator();while (iterator.hasNext()System.out.println(iterator.next();iterator.remove();System.out.println(set = + set);24面向?qū)ο缶幊蘈istIterator接口public class ListIteratorDemo public static void main(String args) List list = new

21、 ArrayList();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);ListIterator iterator=list.listIterator();while (iterator.hasNext() System.out.println(iterator.next();while (iterator.hasPrevious()System.out.println(iterator.previous();25面向?qū)ο缶幊蘉ap接口Map接口:表示關(guān)鍵字-值的集合26面向?qū)ο缶幊蘉ap接口public class M

22、apDemo public static void main(String args) Map map=new HashMap();map.put(1, value1);map.put(2, value2);map.put(3, value3);map.put(4, value4);System.out.println(map.get(1);27面向?qū)ο缶幊蘏et keySet = map.keySet();for (Iterator iterator = keySet.iterator(); iterator.hasNext();) System.out.println(iterator.n

23、ext();Collection values = map.values();for (Iterator iterator = values.iterator(); iterator.hasNext();) System.out.println(iterator.next();Set entrySet = map.entrySet();for (Iterator iterator = entrySet.iterator(); iterator.hasNext();) System.out.println(iterator.next();28面向?qū)ο缶幊踢\行結(jié)果29面向?qū)ο缶幊滔蛄款?Vecto

24、rjava.util.VectorVector是一組對象的集合, Vector可以追加對象元 素的數(shù)量,方便地修改和維護序列中的對象。適合于如下的情況需要處理的對象數(shù)目不定序列中元素都是對象,而不是基本數(shù)據(jù)類型的量需要做頻繁的元素插入和刪除需要定位序列中的對象或其他查找操作 0 1 2 3 對象對象對象對象30面向?qū)ο缶幊虅?chuàng)建向量類對象創(chuàng)建向量類的對象Vector myVector = new Vector();創(chuàng)建空的向量對象(初始容量為10)優(yōu)化存儲管理Vector myVector = new Vector(100);創(chuàng)建空的向量對象(初始容量為100)Vector myVector =

25、 new Vector(100,50);創(chuàng)建空的向量對象(初始容量為100,增量 為50)31面向?qū)ο缶幊滔蛄吭夭僮髯芳釉?addElement(Object obj) 插入元素 insertElement(Object obj, int index)修改向量中的元素 setElementAt(Object obj, int index)刪除向量中的指定元素 removeElementAt (int index) Boolean removeElement(Object obj) removeAllElements()32面向?qū)ο缶幊滔蛄吭夭僮魅〕鱿蛄恐械闹付ㄔ?Object get(

26、int index)測試對象在向量中是否存在 boolean contains(Object obj)查找指定元素的位置 int indexOf(Object obj) int indexOf(Object obj , int start_index)33面向?qū)ο缶幊滔蛄吭夭僮鞣祷刂付ㄎ恢玫脑?Object elementAt(int index) 由于返回的是Object類型的對象,在使用前要 進行強制類型轉(zhuǎn)換,將返回的對象引用轉(zhuǎn)換成 Object類的某個具體子類的對象。 String str=(String)MyVector.elementAt(0);返回一個包含向量中所有元素的對象數(shù)

27、組 Object toArray( ) 34面向?qū)ο缶幊太@取向量信息清空向量(刪除所有元素) clear() 測試向量是否為空 boolean isEmpty()當前向量元素數(shù)量 int size()向量當前容量 int capacity()35面向?qū)ο缶幊汤篊atsAndDogs.java public class CatsAndDogs public static void main(String args) Vector cats = new Vector();for(int i = 0; i 7; i+)cats.addElement(new Cat(i);/ Not a probl

28、em to add a dog to cats:cats.addElement(new Dog(7);for(int i = 0; i cats.size(); i+)(Cat)cats.elementAt(i).print();/ Dog is detected only at run-time/改為:if (cats.elementAt(i) instanceof Cat) /:缺點:Object的類型不確定;對象的類型不匹配只能在運行期才能被檢測出來36面向?qū)ο缶幊坦ぞ哳悗欤喝掌贑alendar(表示日期和時間)getInstance( ): 得到表示當前時間的實例get(int):獲取

29、相應(yīng)信息,如get(Calendar.YEAR)set(int,int):如 set(Calendar.YEAR,1999)set(year,month,date):set用來設(shè)置信息Calendar.getTime():得到當前時間的Date對象GregorianCalendar有不同的構(gòu)造方法,用來創(chuàng)建實例。如:GregorianCalender(year,month,date,)37面向?qū)ο缶幊倘掌陬怐ate構(gòu)造方法 Date() 初始化時間對象方法 long getTime() 獲取自1970.1.1零時至當 前系統(tǒng)時刻的微秒數(shù) 其他若干方法 int getDate() 獲取系統(tǒng)當前日期38面向?qū)ο缶幊倘掌陬怌alendar抽象類,在Date對象和一組整數(shù)域之間進行轉(zhuǎn)換: YEAR, MONTH

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論