




已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java 復(fù)習(xí)資料第一章 Java 語(yǔ)言基礎(chǔ)知識(shí)一 java 的特點(diǎn)與優(yōu)點(diǎn):特點(diǎn): (1)面向?qū)ο蟀踩詀) Java不支持指針b) Java的內(nèi)部安全措施(2)平臺(tái)無(wú)關(guān)性c) 編譯后的字節(jié)碼對(duì)應(yīng)于Java虛擬機(jī),因此可在不同平臺(tái)上運(yùn)行(3)多線(xiàn)程d) Java是第一個(gè)在語(yǔ)言級(jí)提供內(nèi)至多線(xiàn)程支持的高級(jí)語(yǔ)言(4)內(nèi)存管理e) Java對(duì)內(nèi)存自動(dòng)進(jìn)行管理并進(jìn)行垃圾回收l(shuí) Java 語(yǔ)言的優(yōu)點(diǎn) 易于學(xué)習(xí) 代碼效率高 代碼質(zhì)量高 開(kāi)發(fā)程序快 體系結(jié)構(gòu)中立,純Java程序不依賴(lài)于平臺(tái) 一處編寫(xiě),各處運(yùn)行 軟件易于發(fā)布二 變量定義:l Applet的優(yōu)點(diǎn) Web 瀏覽器軟件包括很多小應(yīng)用程序運(yùn)行所需的功能l Applet的局限性 在客戶(hù)端主機(jī)的文件系統(tǒng)中讀/寫(xiě)受限 不能運(yùn)行客戶(hù)端主機(jī)的任何程序 僅能在服務(wù)器和客戶(hù)端之間建立聯(lián)系三 常見(jiàn)運(yùn)算符標(biāo)識(shí)符: 標(biāo)識(shí)符是一個(gè)名稱(chēng),與內(nèi)存中的某個(gè)位置(地址)相對(duì)應(yīng) 標(biāo)識(shí)符的第一個(gè)字符必須是下列字符之一: l 大寫(xiě)字母 (A-Z) l 小寫(xiě)字母 (a-z) l 下劃線(xiàn)(_) l 美元符號(hào) ($) 標(biāo)識(shí)符的第二個(gè)字符及后繼字符必須是: l 上述列表中的任意字符 l 數(shù)字字符 (0-9) 第二章 類(lèi)與對(duì)象的基本概念 一 類(lèi)的定義:l 類(lèi) 將屬性及行為相同或相似的對(duì)象歸為一類(lèi) 類(lèi)可以看成是對(duì)象的抽象,代表了此類(lèi)對(duì)象所具有的共有屬性和行為 在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,每一個(gè)對(duì)象都屬于某個(gè)特定的類(lèi), 二 訪(fǎng)問(wèn)權(quán)限:l 單繼承 任何一個(gè)派生類(lèi)都只有單一的直接父類(lèi) 類(lèi)層次結(jié)構(gòu)為樹(shù)狀結(jié)構(gòu)l 多繼承 一個(gè)類(lèi)可以有一個(gè)以上的直接父類(lèi) 類(lèi)層次結(jié)構(gòu)為網(wǎng)狀結(jié)構(gòu),設(shè)計(jì)及實(shí)現(xiàn)比較復(fù)雜l Java語(yǔ)言?xún)H支持單繼承l(wèi) 聲明形式public abstract | final class 類(lèi)名稱(chēng) extends 父類(lèi)名稱(chēng) implements 接口名稱(chēng)列表 變量成員聲明及初始化; 方法聲明及方法體;l 修飾符 可以有多個(gè),用來(lái)限定類(lèi)的使用方式 publicl 表明此類(lèi)為公有類(lèi) abstractl 指明此類(lèi)為抽象類(lèi) finall 指明此類(lèi)為終結(jié)類(lèi) l 類(lèi)聲明體 變量成員聲明及初始化l 可以有多個(gè) 方法聲明及方法體l 可以有多個(gè)l 對(duì)象的創(chuàng)建 生成實(shí)例的格式:new () 例如: aclock=new Clock()其作用是:l 在內(nèi)存中為此對(duì)象分配內(nèi)存空間l 返回對(duì)象的引用(reference ,相當(dāng)于對(duì)象的存儲(chǔ)地址) 引用變量可以被賦以空值例如:aclock=null; 聲明格式public | protected | private static finaltransient volatile變量數(shù)據(jù)類(lèi)型 變量名1=變量初值, 變量名2=變量初值, ; 格式說(shuō)明l public、protected、private 為訪(fǎng)問(wèn)控制符l static指明這是一個(gè)靜態(tài)成員變量l final指明變量的值不能被修改l transient指明變量是臨時(shí)狀態(tài)l volatile指明變量是一個(gè)共享變量l 類(lèi)變量 也稱(chēng)為靜態(tài)變量,聲明時(shí)需加static修飾符 不管類(lèi)的對(duì)象有多少,類(lèi)變量只存在一份,在整個(gè)類(lèi)中只有一個(gè)值 類(lèi)初始化的同時(shí)就被賦值 適用情況l 類(lèi)中所有對(duì)象都相同的屬性l 經(jīng)常需要共享的數(shù)據(jù)l 系統(tǒng)中用到的一些常量值 引用格式.l 實(shí)例變量和類(lèi)變量都可被聲明為finall final實(shí)例變量必須在每個(gè)構(gòu)造方法結(jié)束之前賦初值,以保證使用之前會(huì)被初始化l final類(lèi)變量必須在聲明的同時(shí)初始化 聲明格式public | protected | private static finalabstract native synchronized返回類(lèi)型 方法名(參數(shù)列表) throws exceptionList方法體 格式說(shuō)明l 方法修飾 public、protected、private 為存取控制符 static指明方法是一個(gè)類(lèi)方法 final指明方法是一個(gè)終結(jié)方法 abstract指明方法是一個(gè)抽象方法 native用來(lái)集成java代碼和其它語(yǔ)言的代碼 synchronized用來(lái)控制多個(gè)并發(fā)線(xiàn)程對(duì)共享數(shù)據(jù)的訪(fǎng)問(wèn)l 類(lèi)的訪(fǎng)問(wèn)控制 類(lèi)的訪(fǎng)問(wèn)控制只有public(公共類(lèi))及無(wú)修飾符(缺省類(lèi))兩種 訪(fǎng)問(wèn)權(quán)限符與訪(fǎng)問(wèn)能力之間的關(guān)系如表類(lèi)型無(wú)修飾public同一包中的類(lèi)yesyes不同包中的類(lèi)noyesl 類(lèi)成員的訪(fǎng)問(wèn)控制 公有(public)l 可以被其他任何對(duì)象訪(fǎng)問(wèn)(前提是對(duì)類(lèi)成員所在的類(lèi)有訪(fǎng)問(wèn)權(quán)限) 保護(hù)(protected)l 只可被同一類(lèi)及其子類(lèi)的實(shí)例對(duì)象訪(fǎng)問(wèn) 私有(private)l 只能被這個(gè)類(lèi)本身訪(fǎng)問(wèn),在類(lèi)外不可見(jiàn) 默認(rèn)(default)l 僅允許同一個(gè)包內(nèi)的訪(fǎng)問(wèn);又被稱(chēng)為“包(package)訪(fǎng)問(wèn)權(quán)限”三 構(gòu)造方法的調(diào)用l 構(gòu)造方法 一種和類(lèi)同名的特殊方法 用來(lái)初始化對(duì)象 Java中的每個(gè)類(lèi)都有構(gòu)造方法,用來(lái)初始化該類(lèi)的一個(gè)新的對(duì)象 沒(méi)有定義構(gòu)造方法的類(lèi),系統(tǒng)自動(dòng)提供默認(rèn)的構(gòu)造方法l 構(gòu)造方法的特點(diǎn) 方法名與類(lèi)名相同 沒(méi)有返回類(lèi)型,修飾符void也不能有 通常被聲明為公有的(public) 可以有任意多個(gè)參數(shù) 主要作用是完成對(duì)象的初始化工作 不能在程序中顯式的調(diào)用 在生成一個(gè)對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用該類(lèi)的構(gòu)造方法為新生成的對(duì)象初始化第三章 類(lèi)的方法一 流程控制:(*)l 程序舉例:例3.1 輸入一個(gè)年份,判斷它是不是閏年。 閏年: 能被4整除但不能被100整除,或者能被400整除。public class ex3_1 public static void main(String args) throws IOException int year; boolean IsLeapYear; System.out.println(Enter the year:); BufferedReader in =new BufferedReader( new InputStreamReader(System.in); year=(new Integer(in.readLine().intValue(); IsLeapYear=(year%4=0 & year%100 != 0)|(year%400 = 0); if (IsLeapYear) System.out.print(year); System.out.println( is a leap year); else System.out.print(year); System.out.println( is not a leap year); l 例3.2輸入兩個(gè)整數(shù)比較大小import java.io.*;public class ex3_2 public static void main(String args)throws IOException int x,y; BufferedReader in = new BufferedReader( new InputStreamReader(System.in); System.out.println(Enter x and y:); x=(new Integer(in.readLine().intValue(); y=(new Integer(in.readLine().intValue(); if (x!=y) if (xy) System.out.println(xy); else System.out.println(x= 90) grade = A; else if (testscore = 80) grade = B; else if (testscore = 70) grade = C; else if (testscore = 60) grade = D; else grade = F; System.out.println(Grade = + grade); 程序輸出:Grade = Cl 使用switch結(jié)構(gòu)計(jì)算每個(gè)月的天數(shù)static int daysInMonth(int month) int days; switch(month) case 2: days = 28; break; case 4: case 6: case 9: case 11: days = 30; break; default: days = 31; return(days); l 用switch語(yǔ)句實(shí)現(xiàn)成績(jī)分類(lèi)的功能public class Grade public static char gradeLevel(double g)int n = (int) (g/10);switch (n) case 10: case 9 : return(A); case 8 : return(B); case 7 : return(C); case 6 : return(D); default: return(E); public static void main(String args) System.out.println(gradeLevel(100)=+gradeLevel(100); System.out.println(gradeLevel(95.5)=+gradeLevel(95.5); System.out.println(gradeLevel(88)=+gradeLevel(88); System.out.println(gradeLevel(72)=+gradeLevel(72); System.out.println(gradeLevel(68.5)=+gradeLevel(68.5); System.out.println(gradeLevel(60)=+gradeLevel(60); System.out.println(gradeLevel(59.5)=+gradeLevel(59.5); System.out.println(gradeLevel(35)=+gradeLevel(35); l ex3_3 輸入06之間的某一個(gè)整數(shù),然后把它轉(zhuǎn)換成星期 輸出。(0對(duì)應(yīng)星期日)import java.io.*;public class ex3_3 public static void main(String args)throws IOException int day; BufferedReader in =new BufferedReader( new InputStreamReader(System.in); day=(new Integer(in.readLine().intValue(); switch (day) case 0: System.out.println(Sunday); break; case 1: System.out.println(Monday); break;case 2: System.out.println(Tuesday); break; case 3: System.out.println(Wednesday); break; case 4: System.out.println(Thursday); break; case 5: System.out.println(Friday); break; case 6: System.out.println(Saturday); break; default: System.out.println(Day out of range Sunday .Saturday ); break; 例:public class MultiTable public static void main(String args) for (int i=1; i=9;i+) for (int j=1; j=i;j+) System.out.print( +i+*+j+=+i*j); System.out.println(); l 運(yùn)行結(jié)果如下: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81l 輸入一個(gè)整數(shù),輸出它所有的因數(shù)import java.io.*;public class ex3_7 public static void main(String args) throws IOException int n,k; BufferedReader in =new BufferedReader( new InputStreamReader(System.in); System.out.println(Enter a positive integer: ); n=(new Integer(in.readLine().intValue(); System.out.print(Number +n+ Factors ); for (k=1; k = n; k+) if (n % k = 0) System.out.print(k + ); System.out.println(); l 逗號(hào)運(yùn)算符 可用在 for 循環(huán)控制表達(dá)式的初始化和遞增兩部分。在這兩部分中可以存在多個(gè)由逗號(hào)分隔的語(yǔ)句,這些語(yǔ)句會(huì)被依次計(jì)算public class ex3_8 public static void main(String args) for(int i = 1, j = i + 10; i 5; i+, j = i * 2) System.out.println(i= + i + j= + j); l 運(yùn)行結(jié)果如下:l i=1 j=11l i=2 j=4l i=3 j=6l i=4 j=8例:計(jì)算數(shù)列1,2,10 的和。public class ex3_4 public static void main(String args) int i=1, sum=0; while(i=10) sum+=i; i+; System.out.println(sum=+sum); l 計(jì)算存款收益:假設(shè)銀行中存款10000元,按11.25%的利率,一年后連本帶利將變?yōu)?1125元。你若將此款繼續(xù)存入銀行,試問(wèn)多長(zhǎng)時(shí)間就會(huì)連本帶利翻一番import java.text.*;public class Examp3_4 public static void main(String args) double original,money,interest; int years = 0; original = money= 10000; interest = 11.25 / 100; System.out.println(year money); while (money 2 * original) years = years + 1; money = money + (interest * money); System.out.println( + years + + new DecimalFormat(0.00).format(money); System.out.println(); System.out.println( 第 + years + 年存款額達(dá)到 + new DecimalFormat(0.00).format(money) + 元。); l 運(yùn)行結(jié)果year money 1 11125.00 2 12376.56 3 13768.93 4 15317.93 5 17041.20 6 18958.33 7 21091.14 第 7 年存款額達(dá)到 21091.14元l 輸入一個(gè)整數(shù),然后輸出它的翻轉(zhuǎn)形式import java.io.*;public class ex3_5 public static void main(String args)throws IOException int n, right_digit, newnum = 0; BufferedReader in = new BufferedReader( new InputStreamReader(System.in); System.out.println(Enter the number: ); n=(new Integer(in.readLine().intValue(); System.out.print(The number in reverse order is ); do right_digit = n % 10; System.out.print(right_digit); n /= 10; while (n != 0); System.out.println(); l 簡(jiǎn)單break應(yīng)用舉例public class BreakTest public static void main( String args ) String output = ; int i; for ( i = 1; i = 10; i+ ) if ( i = 5 ) break; / break loop only if count = 5 output += i + ; output += nBroke out of loop at i = + i; System.out.println(output); l 運(yùn)行結(jié)果1 2 3 4Broke out of loop at i = 5l 在嵌套循環(huán)中使用break語(yǔ)句:使用下面的程序來(lái)實(shí)現(xiàn)例3-4的九九乘法表public class Examp3_6public static void main(String args) for (int i=1; i=9;i+) for (int j=1; j i) break; System.out.print( +i+*+j+=+i*j); System.out.println(); l break與label一同使用舉例public class Examp3_7public static void main(String args)outer:for (int i=1; i=9;i+) for (int j=1; j i) break; if (i=6) break outer; System.out.print( +i+*+j+=+i*j); System.out.println(); l 運(yùn)行結(jié)果 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25l 簡(jiǎn)單的continue語(yǔ)句舉例public class ContinueTestpublic static void main( String args ) String output = ; int i; for ( i = 1; i = 10; i+ ) if ( i = 5 ) continue; / skip remaining code in this loop output += i + ; output += nUsing continue to skip printing 5; output += ni = + i; System.out.println(output); l 運(yùn)行結(jié)果1 2 3 4 6 7 8 9 10Using continue to skip printing 5i = 11l 打印2到9之間的偶數(shù)的平方,但是不包括偶數(shù)6的平方public class Examp3_9public static void main (String args) for (int i=2; i=9; i+=2) if (i=6) continue; System.out.println(i*i); l 九九乘法表也可用下面的程序來(lái)實(shí)現(xiàn)public class Examp3_10public static void main (String args) outer: for (int i=1; i10; i+) inner: for (int j=1; j10; j+) if (ij) System.out.println(); continue outer; System.out.print( +i+*+j+=+i*j); l 當(dāng)執(zhí)行到滿(mǎn)足條件ij時(shí),跳出inner循環(huán),直接跳到outer循環(huán),計(jì)算并修改i的值,進(jìn)行下一輪的循環(huán)二 異常處理:java處理錯(cuò)誤的方法 拋出(throw)異常l 在方法的運(yùn)行過(guò)程中,如果發(fā)生了異常,則該方法生成一個(gè)代表該異常的對(duì)象并把它交給運(yùn)行時(shí)系統(tǒng),運(yùn)行時(shí)系統(tǒng)便尋找相應(yīng)的代碼來(lái)處理這一異常 捕獲(catch)異常l 運(yùn)行時(shí)系統(tǒng)在方法的調(diào)用棧中查找,從生成異常的方法開(kāi)始進(jìn)行回溯,直到找到包含相應(yīng)異常處理的方法為止l Java預(yù)定義的一些常見(jiàn)異常 ArithmeticExceptionl 整數(shù)除法中除數(shù)為0 NullPointerException l 訪(fǎng)問(wèn)的對(duì)象還沒(méi)有實(shí)例化 NegativeArraySizeException l 創(chuàng)建數(shù)組時(shí)元素個(gè)數(shù)是負(fù)數(shù) ArrayIndexOutOfBoundsExceptionl 訪(fǎng)問(wèn)數(shù)組元素時(shí),數(shù)組下標(biāo)越界 ArrayStoreExceptionl 程序試圖向數(shù)組中存取錯(cuò)誤類(lèi)型的數(shù)據(jù) FileNotFoundExceptionl 試圖存取一個(gè)并不存在的文件 IOExceptionl 通常的I/O錯(cuò)誤其中前五個(gè)為非檢查性異常,后兩個(gè)為檢查性異常l 捕獲異常說(shuō)明 try 語(yǔ)句 l 其后跟隨可能產(chǎn)生異常的代碼塊 catch語(yǔ)句l 其后跟隨異常處理語(yǔ)句,通常用到兩個(gè)方法 getMessage() 返回一個(gè)字符串對(duì)發(fā)生的異常進(jìn)行描述。 printStackTrace() 給出方法的調(diào)用序列,一直到異常的產(chǎn)生位置 finally語(yǔ)句l 不論在try代碼段是否產(chǎn)生異常,finally 后的程序代碼段都會(huì)被執(zhí)行。通常在這里釋放內(nèi)存以外的其他資源l 注意事項(xiàng) 在類(lèi)層次樹(shù)中,一般的異常類(lèi)型放在后面,特殊的放在前面第四章 類(lèi)的重用一 object類(lèi):l Object類(lèi) Java程序中所有類(lèi)的直接或間接父類(lèi),類(lèi)庫(kù)中所有類(lèi)的父類(lèi),處在類(lèi)層次最高點(diǎn) 包含了所有Java類(lèi)的公共屬性,其構(gòu)造方法是Object( )二 終結(jié)類(lèi)與終結(jié)方法 被final修飾符修飾的類(lèi)和方法 終結(jié)類(lèi)不能被繼承 終結(jié)方法不能被當(dāng)前類(lèi)的子類(lèi)重寫(xiě)三 抽象類(lèi) 代表一個(gè)抽象概念的類(lèi) 沒(méi)有具體實(shí)例對(duì)象的類(lèi),不能使用new方法進(jìn)行實(shí)例化 類(lèi)前需加修飾符abstract 可包含常規(guī)類(lèi)能夠包含的任何東西,例如構(gòu)造方法,非抽象方法 也可包含抽象方法,這種方法只有方法的聲明,而沒(méi)有方法的實(shí)現(xiàn)l 抽象方法 聲明的語(yǔ)法形式為public abstract (.); 僅有方法頭,而沒(méi)有方法體和操作實(shí)現(xiàn) 具體實(shí)現(xiàn)由當(dāng)前類(lèi)的不同子類(lèi)在它們各自的類(lèi)聲明中完成 抽象類(lèi)可以包含抽象方法名稱(chēng)解釋String replace(char oldChar, char newChar); 將接收者字符串的oldChar替換為newCharint compareTo(String s); 將接收者對(duì)象與參數(shù)對(duì)象進(jìn)行比較boolean equals(String s);接收者對(duì)象與參數(shù)對(duì)象的值進(jìn)行比較String trim( ); 將接收者字符串兩端的空字符串都去掉String toLowerCase()將接收者字符串中的字符都轉(zhuǎn)為小寫(xiě)String toUpperCase()將接收者字符串中的字符都轉(zhuǎn)為大寫(xiě)l StringBuffer類(lèi) 其對(duì)象是可以修改的字符串l 字符的個(gè)數(shù)稱(chēng)為對(duì)象的長(zhǎng)度(length)l 分配的存儲(chǔ)空間稱(chēng)為對(duì)象的容量(capacity) 與String類(lèi)的對(duì)象相比,執(zhí)行效率要低一些該類(lèi)的方法不能被用于String類(lèi)的對(duì)象l 生成StringBuffer類(lèi)的對(duì)象 new StringBuffer(); l 生成容量為16的空字符串對(duì)象 new StringBuffer(int size); l 生成容量為size的空字符串對(duì)象 new StringBuffer(String aString); l 生成aString的一個(gè)備份,容量為其長(zhǎng)度 +16名稱(chēng)解釋int length ( )返回字符串對(duì)象的長(zhǎng)度int capacity( )返回字符串對(duì)象的容量void ensureCapacity(int size)設(shè)置字符串對(duì)象的容量void setLength(int len)設(shè)置字符串對(duì)象的長(zhǎng)度。如果len的值小于當(dāng)前字符串的長(zhǎng)度,則尾部被截掉char charAt(int index)返回index處的字符名稱(chēng)解釋void setCharAt(int index, char c)將index處的字符設(shè)置為cvoid getChars(int start, int end, char charArray, int newStart)將接收者對(duì)象中從start位置到end-1位置的字符拷貝到字符數(shù)組charArray中,從位置newStart開(kāi)始存放StringBuffer reverse( )返回將接收者字符串逆轉(zhuǎn)后的字符串StringBuffer insert(int index, Object ob)將ob插入到index位置StringBuffer append(Object ob)將ob連接到接收者字符串的末尾l Calendar類(lèi) 一個(gè)抽象的基礎(chǔ)類(lèi),支持將Date對(duì)象轉(zhuǎn)換成一系列單個(gè)的日期整型數(shù)據(jù)集,如YEAR、MONTH、DAY、HOUR等常量 它派生的GregorianCalendar類(lèi)實(shí)現(xiàn)標(biāo)準(zhǔn)的Gregorian日歷 由于Calendar是抽象類(lèi),不能用new方法生成Calendar的實(shí)例對(duì)象,可以使用getInstance()方法創(chuàng)建一個(gè)GregorianCalendar類(lèi)的對(duì)象l Calendar類(lèi)中聲明的常量 Calendar.SUNDAY Calendar.MONDAY Calendar.TUESDAY Calendar.SATURDAY Calendar.JANUARY Calendar.FEBRUARY Calendar.AM l Calendar類(lèi)中的方法 isLeapYear(int year) 返回給定的年份是否是潤(rùn)年 get(int field) 取得特定Calendar對(duì)象的信息l aCalendar.get(java.util.Calendar.YEAR); l aCalendar.get(java.util.Calendar.MONTH); l aCalendar.get(java.util.Calendar.DAY_OF_WEEK); l aCalendar.get(java.util.Calendar.MINUTE);l . set(int field, int value) 給日期域設(shè)定特定的值l aCalendar.set(Calendar.MONTH, Calendar.JANUARY); l aCalendar.set(1999, Calendar.AUGUST, 15); l Java.util.GregorianCalendar類(lèi) 用于查詢(xún)及操作日期 構(gòu)造方法l new GregorianCalendar() / 當(dāng)前日期 l new GregorianCalendar(1999, 11, 31) / 特定日期 l new GregorianCalendar(1968, 0, 8, 11, 55) / 日期和時(shí)間 getTime()方法 返回Date對(duì)象,顯示日歷l System.out.println(new GregorianCalendar().getTime(); l System.out.println(new GregorianCalendar(1999, 11, 31).getTime(); l System.out.println(new GregorianCalendar(1968, 0, 8, 11, 55).getTime(); 第五章 接口與多態(tài)接口,多重繼承:l 接口的語(yǔ)法 聲明格式為接口修飾符 interface 接口名稱(chēng) extends 父接口名/方法的原型聲明或靜態(tài)常量 接口的數(shù)據(jù)成員一定要賦初值,且此值將不能再更改,允許省略final關(guān)鍵字 接口中的方法必須是“抽象方法”,不能有方法體,允許省略public及abstract關(guān)鍵字第六章 輸入/輸出流和文件一 字符的輸入與輸出:l 面向字符的抽象類(lèi)Reader和Writer java.io包中所有字符流的抽象基類(lèi) Reader提供了輸入字符的API Writer提供了輸出字符的API 它們的子類(lèi)又可分為兩大類(lèi)l 節(jié)點(diǎn)流:從數(shù)據(jù)源讀入數(shù)據(jù)或往目的地寫(xiě)出數(shù)據(jù)l 處理流:對(duì)數(shù)據(jù)執(zhí)行某種處理 多數(shù)程序使用這兩個(gè)抽象類(lèi)的一系列子類(lèi)來(lái)讀入/寫(xiě)出文本信息l 例如FileReader/FileWriter用來(lái)讀/寫(xiě)文本文件l InputStream和OutputStream 是用來(lái)處理8位字節(jié)流的抽象基類(lèi),程序使用這兩個(gè)類(lèi)的子類(lèi)來(lái)讀寫(xiě)8位的字節(jié)信息 分為兩部分l 節(jié)點(diǎn)流l 處理流l 在C盤(pán)根目錄創(chuàng)建文本文件Hello.txt,并往里寫(xiě)入若干行文本import java.io.*; class Ex6_2 public static void main ( String args ) throws IOException /main方法中聲明拋出IO異常 String fileName = C:Hello.txt; FileWriter writer = new FileWriter( fileName ); writer.write( Hello!n); writer.write( This is my first text file,n ); writer.write( You can see how this is done.n ); writer.write(輸入一行中文也可以n); writer.close(); l 打開(kāi)C盤(pán)根目錄下的Hello.txt文件換行有些問(wèn)題,例6_4中將解決這個(gè)問(wèn)題每次運(yùn)行這個(gè)程序,都將刪除已經(jīng)存在的”Hello.txt”文件,創(chuàng)建一個(gè)新的同名文件FileWriter的構(gòu)造方法有五個(gè),本例是通過(guò)一個(gè)字符串指定文件名來(lái)創(chuàng)建FileWriter類(lèi)的write方法向文件中寫(xiě)入字符l Writer類(lèi)的流可實(shí)現(xiàn)內(nèi)部格式到外部磁盤(pán)文件格式的轉(zhuǎn)換 “Hello.txt”是一個(gè)普通的ASCII碼文本文件,每個(gè)英文字符占一個(gè)字節(jié),中文字符占兩個(gè)字節(jié) close方法清空流里的內(nèi)容并關(guān)閉它。如果不調(diào)用該方法,可能系統(tǒng)還沒(méi)有完成所有數(shù)據(jù)的寫(xiě)操作,程序就結(jié)束了l 處理IO異常import java.io.*; class Ex6_3 public static void main ( String args ) String fileName = c:Hello.txt ; try /將所有IO操作放入try塊中 FileWriter writer = new FileWriter( fileName ,true ); writer.write( Hello!n); writer.write( This is my first text file,n ); writer.write( You can see how this is done. n ); writer.write(輸入一行中文也可以n); writer.close(); catch ( IOException iox) System.out.println(Problem writing + f
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)驅(qū)動(dòng)下的在線(xiàn)教育平臺(tái)升級(jí)與維護(hù)
- 2025年廣播媒體融合發(fā)展模式創(chuàng)新與效果實(shí)證研究
- 利用大數(shù)據(jù)提升特教學(xué)生的學(xué)習(xí)效果和體驗(yàn)
- 探索醫(yī)療教育中的數(shù)字化視傳應(yīng)用
- 商業(yè)視角下的數(shù)字健康數(shù)據(jù)隱私管理
- 綠色建材項(xiàng)目運(yùn)營(yíng)管理手冊(cè)(范文參考)
- 探索調(diào)味品企業(yè)數(shù)字化轉(zhuǎn)型的路徑與策略
- 商業(yè)決策支持下的數(shù)字化辦公系統(tǒng)
- 2025年嬰幼兒配方食品營(yíng)養(yǎng)配方調(diào)整與行業(yè)規(guī)范研究報(bào)告
- 如何建立數(shù)字化企業(yè)下的開(kāi)放和協(xié)作的組織文化
- TDT1055-2019第三次全國(guó)國(guó)土調(diào)查技術(shù)規(guī)程
- 行政倫理學(xué)-終結(jié)性考核-國(guó)開(kāi)(SC)-參考資料
- 《幼兒教育政策與法規(guī)》課件-單元4 幼兒園的保育和教育
- 【初中道法】樹(shù)立正確的人生目標(biāo)(課件)-2024-2025學(xué)年七年級(jí)道德與法治上冊(cè)(統(tǒng)編版2024)
- 門(mén)禁維修維護(hù)方案
- 巖塊聲波測(cè)試作業(yè)指導(dǎo)書(shū)
- GB/T 22838.5-2024卷煙和濾棒物理性能的測(cè)定第5部分:卷煙吸阻和濾棒壓降
- 2024年安徽中考英語(yǔ)詞匯表
- 事業(yè)單位聘用工作人員登記表
- 人教九年級(jí)歷史上冊(cè)《七單元大單元設(shè)計(jì)》教學(xué)課件
- 成都市2022級(jí)(2025屆)高中畢業(yè)班摸底測(cè)試(零診)物理試卷(含答案)
評(píng)論
0/150
提交評(píng)論