




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java程序設(shè)計(jì)實(shí)用教程(第4版)習(xí)題解答與實(shí)瞼指導(dǎo)葉核亞編著2013年11月目錄“Java程序設(shè)計(jì)”課程教學(xué)要求1第1章Java概述3第2章Java語(yǔ)言基礎(chǔ)5第3章類的封裝、繼承和多態(tài) 22第4章接口.內(nèi)部類和Java API基礎(chǔ)38第5章異常處理 43第6章圖形用戶界面 45第7章多線程 50第8章輸入/輸出流和文件操作52“Java程序設(shè)計(jì)”課程教學(xué)要求1 .課程性質(zhì)、目的和任務(wù)程序設(shè)計(jì)是高等學(xué)校計(jì)算機(jī)學(xué)科及電子信息學(xué)科各專業(yè)本科的核心專業(yè)基礎(chǔ)課程,是培 養(yǎng)學(xué)生軟件設(shè)計(jì)能力的重要課程。在計(jì)算機(jī)學(xué)科的本科教學(xué)中,起著非常重要的作用。“Java程序設(shè)計(jì)”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科的專業(yè)基礎(chǔ)限
2、選課,開(kāi)設(shè)本課程的目的 是:進(jìn)行程序設(shè)計(jì)和面向?qū)ο蠓椒ǖ幕A(chǔ)訓(xùn)練;使用Java編程技術(shù),設(shè)計(jì)解決操作系統(tǒng)、 網(wǎng)絡(luò)通信、數(shù)據(jù)庫(kù)等多種實(shí)際問(wèn)題的應(yīng)用程序。本課程通過(guò)全面、系統(tǒng)地介紹Java語(yǔ)言的基礎(chǔ)知識(shí)、運(yùn)行機(jī)制、多種編程方法和技術(shù), 使學(xué)生理解和掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,理解和掌握網(wǎng)絡(luò)程序的特點(diǎn)和設(shè)計(jì)方法,建立 起牢固扎實(shí)的理論基礎(chǔ),培養(yǎng)綜合應(yīng)用程序的設(shè)計(jì)能力。本課程的先修課程包括:C/C+程序設(shè)計(jì)I、C/C+程序設(shè)計(jì)II、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、 計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)原理等。2 .教學(xué)基本要求本課程的基本要求如下。了解Java語(yǔ)言特點(diǎn),理解Java Application應(yīng)用程序的運(yùn)行原理和方法。
3、掌握在 JDK環(huán)境中編譯和運(yùn)行程序的操作,熟悉在MyEclipse集成開(kāi)發(fā)環(huán)境中,編輯、編譯、運(yùn)行 和調(diào)試程序的操作。掌握J(rèn)ava語(yǔ)言中語(yǔ)句、數(shù)組、引用類型等基本語(yǔ)法成分的使用方法,通過(guò)類、接口、 內(nèi)嵌類型、包、異常處理等機(jī)制表達(dá)和實(shí)現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)思想。掌握J(rèn)ava的多種實(shí)用技術(shù),包括圖形用戶界面、多線程、文件操作和流、使用URL 和Socket進(jìn)行網(wǎng)絡(luò)通信等。熟悉Java JDBC數(shù)據(jù)庫(kù)應(yīng)用的設(shè)計(jì)方法。熟悉基于JSP的Web應(yīng)用設(shè)計(jì)方法。重點(diǎn):面向?qū)ο蟾拍睿瑘D形用戶界面,線程,流與文件操作,Socket通信。難點(diǎn):繼承和多態(tài),線程同步,流與文件操作,Socket通信,JDBC, JSPo
4、3 .學(xué)時(shí)分配本課程學(xué)時(shí)為64學(xué)時(shí),其中講課48學(xué)時(shí),實(shí)驗(yàn)16學(xué)時(shí)。學(xué)時(shí)分配見(jiàn)下表。章節(jié)(或內(nèi)容)講課實(shí)駿合計(jì)Java蛻述22Java語(yǔ)言基礎(chǔ)44類的封裝、繼承和多態(tài)628接口、內(nèi)部類和Java API基礎(chǔ)426異常處理22圖形用戶界面628多線程426輸入/輸出流和文件操作628網(wǎng)絡(luò)通信628數(shù)據(jù)庫(kù)應(yīng)用224即cb應(yīng)用426綜合應(yīng)用設(shè)計(jì)22合計(jì)4816644 .實(shí)驗(yàn)教學(xué)目標(biāo)與基本要求“Java程序設(shè)計(jì)”是理論與實(shí)踐相結(jié)合的課程,不僅要求學(xué)生掌握基礎(chǔ)知識(shí),理解基本 原理,更要在實(shí)踐環(huán)節(jié)中培養(yǎng)軟件設(shè)計(jì)的基本技能。實(shí)踐性環(huán)節(jié)是鞏固所學(xué)理論知識(shí)、積累 程序設(shè)計(jì)經(jīng)驗(yàn)的必不可少的重要環(huán)節(jié),是提高程序設(shè)計(jì)
5、能力和計(jì)算機(jī)操作技能的有力保障。 實(shí)驗(yàn)和課程設(shè)計(jì)等都是加強(qiáng)程序設(shè)計(jì)訓(xùn)練所必需的實(shí)踐環(huán)節(jié)。課程實(shí)驗(yàn)要求是,熟練使用一種Java開(kāi)發(fā)環(huán)境(如MyEclipse),掌握編譯、運(yùn)行和調(diào) 試Java程序的操作,針對(duì)不同情況進(jìn)行軟件測(cè)試,完善程序并提高程序性能。實(shí)驗(yàn)類型有驗(yàn)證和設(shè)計(jì)兩種。驗(yàn)證型實(shí)驗(yàn)的要求是,仿制已有例題,驗(yàn)證面向?qū)ο蟪绦?設(shè)計(jì)的理論和方法,理解基本原理;設(shè)計(jì)型實(shí)驗(yàn)的要求是,應(yīng)用圖形用戶界面、線程、Applet、 文件操作和流、網(wǎng)絡(luò)通信、數(shù)據(jù)庫(kù)應(yīng)用等章的知識(shí)點(diǎn),掌握解決這些實(shí)際應(yīng)用問(wèn)題的軟件設(shè) 計(jì)方法,設(shè)計(jì)具有一定規(guī)模、較復(fù)雜、較綜合并解決實(shí)際問(wèn)題的應(yīng)用程序,具備獨(dú)立分析問(wèn) 題、解決問(wèn)題的能
6、力和綜合應(yīng)用程序的設(shè)計(jì)能力。本課程安排的上機(jī)實(shí)驗(yàn)學(xué)時(shí)為16時(shí),課內(nèi)開(kāi)設(shè)的8個(gè)實(shí)驗(yàn)說(shuō)明如下。項(xiàng)目?jī)?nèi)容實(shí)驗(yàn)時(shí)數(shù)實(shí)驗(yàn)1Java語(yǔ)言基砒和面向?qū)ο蟾拍钣?xùn)練2實(shí)驗(yàn)2接口和實(shí)現(xiàn)接口的類,異常處理2實(shí)驗(yàn)3圖形用戶界面2實(shí)驗(yàn)4線程設(shè)計(jì),線程互斥與同步2實(shí)驗(yàn)5輸入/輸出流,文件操作2實(shí)驗(yàn)6URL、TCP Socket. UDP Socket 等網(wǎng)絡(luò)通信2實(shí)驗(yàn)7JDBC數(shù)據(jù)庫(kù)應(yīng)用設(shè)計(jì)2實(shí)驗(yàn)8基于JSP的Web應(yīng)用設(shè)計(jì)2實(shí)驗(yàn)題有詳細(xì)的實(shí)驗(yàn)訓(xùn)練目標(biāo)、設(shè)計(jì)內(nèi)容和設(shè)計(jì)要求。每次實(shí)驗(yàn)要求學(xué)生獨(dú)立完成至少 一個(gè)程序的編寫(xiě)和運(yùn)行,寫(xiě)出實(shí)驗(yàn)報(bào)告。實(shí)驗(yàn)報(bào)告內(nèi)容包括:題目、題意解釋、題意分析、 設(shè)計(jì)方案、流程描述、源程序清單、程序運(yùn)
7、行結(jié)果、程序存在問(wèn)題和改進(jìn)意見(jiàn)等。1章 Java概述本章教學(xué)內(nèi)容及要求如下:了解Java語(yǔ)言特點(diǎn),理解Java Application應(yīng)用程序的運(yùn)行原理和方法,理解由 Java虛擬機(jī)支持的程序運(yùn)行機(jī)制。 掌握在JDK環(huán)境中編譯和運(yùn)行程序的操作,熟悉在MyEclipse集成開(kāi)發(fā)環(huán)境中編輯、 編譯、運(yùn)行和調(diào)試程序的操作。重點(diǎn):掌握在JDK和MyEclipse環(huán)境中編譯和運(yùn)行Java Application應(yīng)用程序的操作。1. 1 了解 Java1-1 Java具有哪些適合在Internet環(huán)境中運(yùn)行的特點(diǎn)【答】跨平臺(tái)特性、完全面向?qū)ο蠛秃?jiǎn)單性、可靠性、安全性、多線程、支持分布式網(wǎng) 絡(luò)應(yīng)用等。1-2
8、什么是跨平臺(tái)特性Java怎樣實(shí)現(xiàn)跨平臺(tái)特性【答】跨平臺(tái)特性是指一個(gè)應(yīng)用程序能夠運(yùn)行于不同的操作系統(tǒng)平臺(tái)。Java采用虛擬機(jī) 技術(shù)支持跨平臺(tái)特性,不同的操作系統(tǒng)上運(yùn)行不同版本的Java虛擬機(jī)。1-3 Java源程序文件編譯后生成什么文件程序的運(yùn)行機(jī)制是怎樣的【答】Java將源程序文件(*. java)中的每個(gè)類編譯生成一個(gè)字節(jié)碼文件(.class), 由Java虛擬機(jī)解釋執(zhí)行字節(jié)碼文件。1-4 Java應(yīng)用程序有哪兩種形式它們的運(yùn)行方式有什么不同【答】Java應(yīng)用程序有兩種:Application和Applet。Application是能夠獨(dú)立運(yùn)行的應(yīng)用程序,有控制臺(tái)和圖形用戶界面兩種運(yùn)行方式。
9、Applet是可以嵌入Web頁(yè)面的最小應(yīng)用,它不能獨(dú)立運(yùn)行,必須嵌入超文本(*. html)中,由瀏覽器中的Java解釋器解釋執(zhí)行。1.2 JDK1-5環(huán)境變量path和classpath的作用分別是什么【答】path提供可執(zhí)行文件(.exe)的路徑;classpath提供類文件(.class)的路徑。1-6什么是包為什么需要包機(jī)制【答】包(package)是類的集合。包是Java區(qū)別類名字空間的機(jī)制。一個(gè)包中的多個(gè) 類之間不能重名,不同包中的類名則可以相同?!玖?xí)1. 1】為例的Line類增加以下方法:public double length()ava)中,可以使用 package語(yǔ)句聲明包,
10、使用import語(yǔ)句導(dǎo)入包,之后使用class或interface聲明多個(gè)類或接口。 其中,聲明為public權(quán)限的類或接口只能有一個(gè),且文件名必須與該類名相同。1-7程序中的錯(cuò)誤有哪幾種分別在什么時(shí)刻被發(fā)現(xiàn)【答】語(yǔ)法錯(cuò)、語(yǔ)義錯(cuò)、邏輯錯(cuò)。編譯時(shí)能夠發(fā)現(xiàn)語(yǔ)法錯(cuò),運(yùn)行時(shí)能夠發(fā)現(xiàn)語(yǔ)義錯(cuò),運(yùn) 行時(shí)不能發(fā)現(xiàn)邏輯錯(cuò)。2章 Java語(yǔ)言基礎(chǔ)本章教學(xué)內(nèi)容及要求如下:掌握J(rèn)ava語(yǔ)言的基本語(yǔ)法成分,包括標(biāo)識(shí)符與關(guān)鍵字、數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、 變量聲明等語(yǔ)言成分,掌握分支、循環(huán)等流程控制語(yǔ)句的語(yǔ)法和使用。特別注意與C/C+的 不同之處。掌握數(shù)組類型的聲明和動(dòng)態(tài)內(nèi)存申請(qǐng),掌握以基本數(shù)據(jù)類型和類的兩種方式聲明和
11、使用字符串。掌握J(rèn)ava語(yǔ)言的方法聲明和調(diào)用規(guī)則,掌握基本類型和引用類型作為方法參數(shù)和返 回值的傳遞規(guī)則。掌握MyEclipse程序調(diào)試技術(shù)。重點(diǎn):數(shù)組的引用模型;使用靜態(tài)方法,引用類型作為方法的參數(shù)和返回值。難點(diǎn):位運(yùn)算,二進(jìn)制;遞歸算法。MyEclipse程序調(diào)試技術(shù)。2. 1語(yǔ)言成分1.數(shù)據(jù)類型、變量及運(yùn)算2-1 Java語(yǔ)言的基本數(shù)據(jù)類型有哪些引用數(shù)據(jù)類型有哪些【答】基本數(shù)據(jù)類型有:整數(shù)類型byte、short, int, long,浮點(diǎn)數(shù)類型float, double, 字符類型char,布爾類型boolean;引用數(shù)據(jù)類型包括數(shù)組(array)、類(class)和接口 (inter
12、face)。2-2與C+語(yǔ)言相比,Java語(yǔ)言的變量和常量聲明有什么差別【答】Java語(yǔ)言沒(méi)有全局變量,(成員)局部變量含義及變量聲明格式與C+相同。Java語(yǔ)言沒(méi)有宏替換,使用最終變量概念代替C+中的常量和宏替換。使用final關(guān)鍵字聲明最終變量,只能賦值一次,這樣既增加了常量功能,又避免全局變量和宏替換的副作 用。2-3 Java語(yǔ)言的運(yùn)算分哪些類型與C+語(yǔ)言相比,運(yùn)算符及運(yùn)算含義有哪些變化【答】Java語(yǔ)言有算術(shù)運(yùn)算、關(guān)系運(yùn)算、位運(yùn)算、邏輯運(yùn)算、賦值運(yùn)算、強(qiáng)制類型轉(zhuǎn)換、 條件運(yùn)算、括號(hào)運(yùn)算、點(diǎn)運(yùn)算、new、+字符串連接運(yùn)算和instanceof運(yùn)算等,其中+字符串 連接和instance
13、of運(yùn)算符是Java新增的,此外,放棄了 C+的sizeof運(yùn)算符。與C+語(yǔ)言相比,Java語(yǔ)言的語(yǔ)法更為嚴(yán)謹(jǐn),將C+中某些容易引起混淆的語(yǔ)法做了修 訂,編譯時(shí)也將嚴(yán)格進(jìn)行檢查。在Java語(yǔ)言中,運(yùn)算符及運(yùn)算含義有變化的說(shuō)明如下。沒(méi)有賦值功能的表達(dá)式不能作為語(yǔ)句。例如:int i=0;If181710f 87 0Integer.MAX3ALUE |oill1114Integer.MIN_VALUE |lOOOOOOOpOOOOOOO»OOOOOOOWOOOOOO0000 00000000 00000000 00000111 1101125&0000 00000000 0000
14、0000 000000001010100000 00000000 00000000 00000000 10008(a) 125&10十進(jìn)制2147483647十六進(jìn)制0x7fnrnT0000 00000000 00000000 00000111 11010000 00000000 00000000 00000000 1010-21474836480x800000000000 00000000 (MMX)0000 0000()111 nil(b) 125 I 10123456789: ;< = > A B C D E F G H I J K L M N 0 P Q R S T
15、 U V W X Y Z abcdefghi jk Imnopqrstuvwxyz 修改上述程序段的for語(yǔ)句表達(dá)式如下,輸出Unicode漢字字符表。(a) int a|=new int5;(b) int b:b=a; 引用賦值(c) b0=99;ch+)左上三角卜.標(biāo)和為。n-1度變換類型變換類型取值有:b (boolean), c (字符)、C (字母大寫(xiě)),d (十進(jìn)制整數(shù)),o (A進(jìn)制整數(shù))、x (十六進(jìn)制整數(shù))、e (浮點(diǎn)數(shù)指數(shù)形式)、f (浮點(diǎn)數(shù)小數(shù)形式)、s (字符串字當(dāng)指定寬母小寫(xiě))、S (字符串字母大寫(xiě))。參數(shù)索引指定第幾個(gè)參數(shù),省略時(shí)為默認(rèn)次序。度不足時(shí),以實(shí)際寬度顯示
16、;可用變量指定寬度。例如: +%2$d-%l$d55.l0) . +1055”(H%xk 二('E)0177).args)方法返回format指定格式的字符串,飛。二5x”分別指定八進(jìn)制、十六進(jìn)制整 數(shù)格式。類聲明以下方法,分別返回整數(shù)的二、八、十六進(jìn)制形式字符串。表2T publicstaticStringtoBinaryString(inti)Red Green Blue方法中的變量.實(shí)際參數(shù)swapO方法中的形式參數(shù)JU 2 |jI 2 卜y實(shí)部2 +虛部2(b)交換兩個(gè)對(duì)象數(shù)組元素值111111110000 00000000 000011111111(a)交換兩個(gè)按數(shù)數(shù)蛆元素位
17、If181710f,2-4獲得當(dāng)前日期和時(shí)間的語(yǔ)句是【答】new DateO或()或02-5獲得當(dāng)前日期月份的語(yǔ)句是,0【答】().get+l【習(xí)2.1】判斷指定字符串是否為Java關(guān)鍵字。以下程序?qū)ava所有關(guān)鍵字排序后保存在keywords字符串?dāng)?shù)組中,判斷一個(gè)字符串是 否是Java關(guān)鍵字,算法需要在keywords數(shù)組中查找,若查找成功,則是Java關(guān)鍵字。以 下采用二分法查找算法,其查找效率比順序查找算法效率高。import選擇整數(shù)類型C byteshort。char O mi+用制卜儂|二,制|111111111。0。0。0I四設(shè)制33332000IAiftM |v7soo十六港制
18、卜w|【答】執(zhí)行Thread類聲明的run。方法,該方法體為空,所以沒(méi)有操作結(jié)果。2-6設(shè)有T、R類聲明如下,說(shuō)明怎樣使用這些實(shí)例創(chuàng)建、啟動(dòng)線程并執(zhí)行有效操作public class T extends Threadtart();2.線程對(duì)象的生命周期2-7 Thread類中有哪些方法能夠改變線程對(duì)象的狀態(tài)各由什么狀態(tài)改變到什么狀態(tài)【答】Thread類中改變和判斷線程狀態(tài)的方法有:線程啟動(dòng)、線程睡眠、線程中斷等。 線程啟動(dòng)start。方法將NEW新建態(tài)的線程改變成運(yùn)行態(tài)RUNNABLE;線程睡眠sleepO方法 將當(dāng)前線程由運(yùn)行態(tài)進(jìn)入等待態(tài);線程中斷interrupt。方法對(duì)當(dāng)前線程設(shè)置運(yùn)行中
19、斷標(biāo)記。1 .2 線程的同步機(jī)制2-8什么是交互線程什么是線程互斥與同步說(shuō)明線程互斥與同步機(jī)制怎樣保證交互 線程對(duì)共享變量操作的正確性,不產(chǎn)生與時(shí)間有關(guān)的錯(cuò)誤?!敬稹抗蚕碜兞康亩鄠€(gè)線程之間稱為交互線程,它們執(zhí)行時(shí)將因競(jìng)爭(zhēng)共享變量的使用權(quán) 而影響其他線程的運(yùn)行結(jié)果,可能產(chǎn)生與時(shí)間有關(guān)的錯(cuò)誤。交互線程之間存在競(jìng)爭(zhēng)和協(xié)作兩種關(guān)系。線程互斥指,采用加鎖方式使若干交互線程串行地使用同一共享資源,它是解決線程間 競(jìng)爭(zhēng)關(guān)系的手段。線程同步指,兩個(gè)以上線程基于某個(gè)條件來(lái)協(xié)調(diào)它們的活動(dòng)。一個(gè)線程的執(zhí)行依賴于另 一個(gè)協(xié)作線程的信號(hào),當(dāng)一個(gè)線程沒(méi)有得到來(lái)自于另一個(gè)線程的信號(hào)時(shí)則需等待,直到信號(hào) 到達(dá)才被喚醒。線程同
20、步是解決線程間協(xié)作關(guān)系的手段。實(shí)驗(yàn)7線程設(shè)計(jì)增加實(shí)驗(yàn)題如下。2-9交通信號(hào)燈。設(shè)計(jì)一個(gè)表示四叉路口控制交通信號(hào)燈的圖形用戶界面,交通信號(hào)燈的屬性包括方向 (東西、南北)、顏色(紅、黃、綠)、車(chē)道(左轉(zhuǎn)、直行、右轉(zhuǎn))、顯示時(shí)間(秒)等。4個(gè)方向的信號(hào)燈同時(shí)運(yùn)行,其中東西向、南北向的信號(hào)相同。以兩位數(shù)顯示倒計(jì)時(shí)的 秒數(shù),超過(guò)百秒以A、B、C等代替,如A2表示102;經(jīng)過(guò)指定延時(shí)時(shí)間,切換信號(hào)燈狀態(tài)。3章輸入/輸出流和文件操作本章教學(xué)內(nèi)容及要求如下:理解流的概念,理解流在文件操作中的作用;掌握通過(guò)Java各種字節(jié)流類和字符流 類對(duì)類型文件和文本文件進(jìn)行順序處理和隨機(jī)處理;熟悉在對(duì)象之間通過(guò)流傳遞數(shù)據(jù)
21、的方 法;了解Java的標(biāo)準(zhǔn)輸入/輸出方法。掌握文件操作的基本方法,掌握對(duì)文件操作的File類,熟悉文件過(guò)濾器、文件對(duì)話 框;了解RandomAccessFi le隨機(jī)存取文件類。重點(diǎn):各種字節(jié)流類,字符流類,F(xiàn)ile類。難點(diǎn): 如何選擇使用哪種字節(jié)流或字符流,掌握程序設(shè)計(jì)方法,而不是死記硬背。 操作系統(tǒng)的文件組織方式是樹(shù)結(jié)構(gòu),遞歸算法。3 . 1 文件和流的概念3-1什么是流流有什么作用面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言為什么需要使用流哪些場(chǎng)合需要 使用流【答】流指數(shù)據(jù)傳輸。在面向過(guò)程的程序設(shè)計(jì)語(yǔ)言中,只有標(biāo)準(zhǔn)輸入/輸出和文件讀寫(xiě) 操作中存在數(shù)據(jù)傳輸,而標(biāo)準(zhǔn)輸入/輸出是文件操作和特例。在面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)
22、言中,數(shù)據(jù)傳輸?shù)膽?yīng)用范圍更廣,除了標(biāo)準(zhǔn)輸入/輸出和文件操 作,在內(nèi)存的對(duì)象之間、以及不同計(jì)算機(jī)運(yùn)行的線程之間都需要進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸功 能必須脫離于文件操作,相對(duì)獨(dú)立。因此,面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言使用“流”概念實(shí)現(xiàn)數(shù)據(jù) 傳輸功能,將各種類型數(shù)據(jù)傳輸封裝成各種流類,根據(jù)數(shù)據(jù)特性,應(yīng)用程序選擇采用相應(yīng)流 類傳輸數(shù)據(jù)。3-2 Java提供了哪些流類各種流類之間關(guān)系是怎樣的什么場(chǎng)合需要使用什么流類【答】Java提供了字節(jié)流類和字符流類,InputStream和OutputStream是字節(jié)輸入/出 流的根類,它們所有字節(jié)流約定讀/寫(xiě)字節(jié)、讀/寫(xiě)字節(jié)數(shù)組、關(guān)閉等操作方法,子類有文件 字節(jié)流、數(shù)據(jù)字節(jié)流
23、、對(duì)象字節(jié)流和管道字節(jié)流等;Reader和Writer是字符輸入/出流的根 類,它們?yōu)樽址骷s定讀/寫(xiě)字符、讀/寫(xiě)字符數(shù)組、關(guān)閉等操作方法,子類有文件字符流、 緩沖字符流、管道流字符等。當(dāng)在標(biāo)準(zhǔn)輸入/出、讀/寫(xiě)文件及內(nèi)存變量之間傳遞數(shù)據(jù)時(shí),需 要使用流。3-3 Java語(yǔ)言中,流與文件操作有什么關(guān)系【答】Java提供文件流實(shí)現(xiàn)讀/寫(xiě)文件數(shù)據(jù)操作。3.2 字節(jié)輸入/輸出流類i.文件字節(jié)流3-4為什么InputStream的read()方法能夠以T表示字節(jié)流結(jié)束是否與整數(shù)T相沖 突【答】(int)T的二進(jìn)制形式為111111,調(diào)用(-1),實(shí)際上只寫(xiě)入低位1個(gè)字節(jié),再調(diào) 用0讀取1字節(jié),作為int
24、整數(shù)最低1字節(jié),高位補(bǔ)0 ,得到的值是 255(000000000000000000000000),不是整數(shù)-1。因此,InputStream 的 read。方法能夠以 -1表示字節(jié)流結(jié)束。【習(xí)3. I】 使用字節(jié)流比較兩個(gè)文件內(nèi)容是否相同。以下equals。方法比較兩個(gè)文件內(nèi)容是否相同,算法有什么錯(cuò)誤如何改正public static boolean equals(String fi1enamc1. String filenamc2) (try FilelnputStream fini = new FilelnputStream(filenamel);FileInputStream fin2
25、 = new FileInputStream(filenamc2); int il=0t i2=0;while (il=0) !=-l && (12=() !=-l && il=i2);0; 0;return il-=-l && i2=-l;catch(FileNotFoundExceptione)數(shù)據(jù)字節(jié)輸出流寫(xiě)入?yún)n(0x00611 (short )98(0x0062)A人字節(jié)流 goo 0000|0H° W0M00 OOOOpl 10 001?數(shù)據(jù)字節(jié)輸入流讀取2字節(jié),short值為2字節(jié),short值為 97; char值為98; char值為'b'lose()lose()方4字節(jié),int值為6357090(0x00610062)法,則Recei veCardJFrame的()方法捕獲到lOExcept ion異常,循環(huán)結(jié)束。3.3 字符輸入/輸出流類i.字符流3-5什么是字符流它與字節(jié)流有哪些區(qū)別【答】字符流本質(zhì)上是字節(jié)流,以字符為單位讀/寫(xiě)字節(jié)流,各字符編碼及長(zhǎng)度由字符 集確定。3-6如何判斷各種輸入流什么時(shí)候結(jié)束【答】根據(jù)不同的輸入流,判斷輸入流結(jié)束的條件不同。主要有兩種方式,一是通過(guò)返 回值,二是拋出異常。InputStr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合法壓車(chē)合同范本
- 和員工股合同范本
- 合作種植大蔥合同范例
- 員工提成合同范例
- 加工豎立桅桿合同范本
- 臺(tái)州市商品房出租合同范本
- 吳江區(qū)律師顧問(wèn)合同范本
- 沖壓模具開(kāi)發(fā)合同范本
- 代理記賬報(bào)稅 合同范本
- 傳媒公司聘用合同范本
- 溶質(zhì)的質(zhì)量分?jǐn)?shù)課件-九年級(jí)化學(xué)人教版(2024)下冊(cè)
- 10我們所了解的環(huán)境污染 (教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治四年級(jí)上冊(cè)
- 2025中國(guó)煙草/中煙工業(yè)招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 新教科版小學(xué)科學(xué)三年級(jí)下冊(cè)教案(全冊(cè))
- 2024年中國(guó)電動(dòng)助力汽車(chē)轉(zhuǎn)向系統(tǒng)(EPS)行業(yè)市場(chǎng)現(xiàn)狀、前景分析研究報(bào)告
- 住建部《建筑業(yè)10項(xiàng)新技術(shù)(2017版)》解讀培訓(xùn)課件
- QUY400t性能表履帶起重機(jī)
- 通用橫版企業(yè)報(bào)價(jià)單模板
- 中國(guó)移動(dòng)B-BOSS系統(tǒng)總體結(jié)構(gòu)
- 人教版三年級(jí)下冊(cè)數(shù)學(xué)試卷5套
- JJF 1738-2019高聲壓測(cè)量傳聲器動(dòng)態(tài)范圍上限校準(zhǔn)規(guī)范(高清版)
評(píng)論
0/150
提交評(píng)論