Java 程序設(shè)計(jì)教程 答案.doc
《Java 程序設(shè)計(jì)教程 答案.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《Java 程序設(shè)計(jì)教程 答案.doc(65頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
參考答案S 第1章 1、結(jié)合實(shí)際生活實(shí)踐,簡(jiǎn)述計(jì)算機(jī)的用處? (1)科學(xué)計(jì)算 (2)信息管理 (3)計(jì)算機(jī)輔助工程 (4)自動(dòng)控制 (5)數(shù)據(jù)處理 2、按照性能指針分類的話,都有哪些類型的計(jì)算機(jī)。 n 巨型計(jì)算機(jī) n 大/中型計(jì)算機(jī) n 小型計(jì)算機(jī) n 微型計(jì)算機(jī) n 工作站 n 服務(wù)器 3、計(jì)算機(jī)系統(tǒng)由哪兩部分組成的?計(jì)算機(jī)硬件結(jié)構(gòu)由哪幾部分組成?它們各自有什么作用? 一臺(tái)計(jì)算機(jī)由硬件和軟件組成。一臺(tái)典型的計(jì)算機(jī)由五大部分組成。這五大部分是:運(yùn)算器,控制器,存儲(chǔ)器,輸入設(shè)備和輸出設(shè)備。 運(yùn)算器是執(zhí)行算術(shù)運(yùn)算和邏輯運(yùn)算的部件。 控制器是向計(jì)算機(jī)其他部分發(fā)送命令的部件。 存儲(chǔ)器是計(jì)算機(jī)用來存儲(chǔ)數(shù)據(jù)、信息的部件。 輸入設(shè)備就是外界向計(jì)算機(jī)輸入信息設(shè)備。 輸出設(shè)備恰好與輸入設(shè)備的作用相反,它將處理過后的信息輸出呈現(xiàn)給用戶。 4、簡(jiǎn)述光柵掃描顯示器的組成及工作原理? 光柵掃描顯示器由主要由顯示存儲(chǔ)器、圖像生成器、彩色表、CRT控制器和CRT監(jiān)視器5個(gè)部分組成。首先由圖形生成器根據(jù)主機(jī)發(fā)送來的畫圖命令轉(zhuǎn)換成相應(yīng)點(diǎn)陣存入到顯示存儲(chǔ)器中,即在顯示存儲(chǔ)器中生成所顯示畫面位圖。然后,CRT控制器一方面產(chǎn)生水平和垂直同步信號(hào)并將其送到監(jiān)視器,使CRT電子束不斷地自上而下、自左向右進(jìn)行掃描,形成光柵;另一方面,又根據(jù)電子束在屏幕上的行列位置,不斷地讀出顯示存儲(chǔ)器中對(duì)應(yīng)位置的像素值。此時(shí)彩色表中對(duì)應(yīng)值控制R、G、B電子束,在屏幕對(duì)應(yīng)點(diǎn)生成需要的像素值。為了使顯示畫面不產(chǎn)生閃爍,上述過程要反復(fù)進(jìn)行,一般要求CRT的幀頻為60幀/秒以上。 5、什么是計(jì)算機(jī)軟件?列舉你所知道的一些常用軟件? 軟件實(shí)際上就是指我們計(jì)算機(jī)上所有可以運(yùn)行的程序、代碼、以及文檔和數(shù)據(jù)的總和。大到操作系統(tǒng)小到一個(gè)文本編輯器,都屬于軟件的范疇。 常用軟件:操作系統(tǒng),Office辦公軟件,QQ,游戲等。 6、計(jì)算機(jī)病毒是什么東西?如何有效防止病毒? 計(jì)算機(jī)病毒是一種人為制造的、在計(jì)算機(jī)運(yùn)行中對(duì)計(jì)算機(jī)信息或系統(tǒng)起破壞作用的程序。這種程序不是獨(dú)立存在的,它隱蔽在其他可執(zhí)行的程序之中,既有破壞性,又有傳染性和潛伏性。輕則影響機(jī)器運(yùn)行速度,使機(jī)器不能正常運(yùn)行;重則使機(jī)器處于癱瘓,會(huì)給用戶帶來不可估量的損失。通常就把這種具有破壞作用的程序稱為計(jì)算機(jī)病毒。 預(yù)防措施: (1)思想上要重視,使用移動(dòng)存儲(chǔ)設(shè)備如u盤拷貝東西要小心病毒,上網(wǎng)時(shí)盡量只訪問比較正規(guī)的網(wǎng)站,從源頭上遏制病毒的傳播。 (2)注意及時(shí)更新系統(tǒng),打全補(bǔ)丁程序,有效阻止病毒的入侵。 (3)建議安裝殺毒防毒軟件,以及網(wǎng)絡(luò)防火墻等。 (4)提高自身的計(jì)算機(jī)水平,以有效應(yīng)付病毒。 7、名詞解釋:指令,機(jī)器語言,匯編語言,高級(jí)語言。 指令由操作碼和操作數(shù)組成: ? 操作碼 要完成的操作類型或性質(zhì) ? 操作數(shù) 操作的內(nèi)容或所在的地址 機(jī)器語言是由0和1二進(jìn)制代碼按一定規(guī)則組成的、能被機(jī)器直接理解和執(zhí)行的指令集合。 將機(jī)器指令的代碼用英文助記符來表示,代替機(jī)器語言中的指令和數(shù)據(jù)。例如用ADD表示加、SUB表示減、JMP表示程序跳轉(zhuǎn)等等,這種指令助記符的語言就是匯編語言。 高級(jí)語言是用近似自然語言并按照一定的語法規(guī)則來編寫程序的語言。高級(jí)語言使程序員可以完全不用與計(jì)算機(jī)的硬件打交道,可以不必了解機(jī)器的指令系統(tǒng),編程效率高。 8、將以下二進(jìn)制數(shù)轉(zhuǎn)換為對(duì)應(yīng)的十進(jìn)制數(shù) (1)111 (2)10011 (3)110011 (4)10001100 (1)7 (2)19 (3)51 (4)140 9、將以下十進(jìn)制數(shù)轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制數(shù) (1)32 (2)97 (3)256 (4)500 (1)100000 (2) 1100001 (3)100000000 (4)111110100 10、簡(jiǎn)述什么是原碼、反碼和補(bǔ)碼? 原碼、反碼和補(bǔ)碼用來表示計(jì)算機(jī)中的數(shù)值信息: n 原碼:符號(hào)位+數(shù)值大小 n 反碼:正數(shù)反碼同原碼,負(fù)數(shù)的反碼為除符號(hào)位外其他位都取反。 n 補(bǔ)碼:正數(shù)同原碼,負(fù)數(shù)的補(bǔ)碼為在反碼的最低位加“1”。 11、簡(jiǎn)述操作系統(tǒng)的功能以及你所知道的操作系統(tǒng)。 操作系統(tǒng)是對(duì)計(jì)算機(jī)硬件系統(tǒng)的一次擴(kuò)充。用戶通過操作系統(tǒng)來使用計(jì)算機(jī)系統(tǒng)。從而,使得用戶能夠方便、可靠、安全、高效地操縱計(jì)算機(jī)硬件和運(yùn)行自己的程序。 n DOS操作系統(tǒng) n Windows系列操作系統(tǒng) n UNIX操作系統(tǒng) n Linux操作系統(tǒng) n Solaris操作系統(tǒng) 12、簡(jiǎn)述字符和漢字在計(jì)算機(jī)內(nèi)的表示方法。 目前國(guó)際上使用最廣泛的字符編碼為ASCII碼。 ASCII碼:是美國(guó)國(guó)家標(biāo)準(zhǔn)信息交換碼(American Standard Code for Information Interchange)的簡(jiǎn)稱,一個(gè)字節(jié)的編碼對(duì)應(yīng)一個(gè)字符,最高位一般為0,是7位編碼,可表示128個(gè)不同字符,如0110001為1、1000101為E等。 1981年,GB2312-80國(guó)家標(biāo)準(zhǔn),其中有6763個(gè)漢字和682個(gè)非漢字字符,其字符及編碼稱為國(guó)標(biāo)碼又叫國(guó)際交換碼。GB2312字符集的構(gòu)成: 一級(jí)常用漢字3755個(gè),按漢語拼音排列 二級(jí)常用漢字3008個(gè),按偏旁部首排列 非漢字字符682個(gè) 漢字以雙字節(jié)表示。在計(jì)算機(jī)的漢字信息處理系統(tǒng)中,處理漢字時(shí)要進(jìn)行如下的代碼轉(zhuǎn)換:輸入碼→交換碼→內(nèi)部碼→字形碼。 第2章 1.Java語言有哪些主要特點(diǎn)。 平臺(tái)獨(dú)立性 安全性 多線程 網(wǎng)絡(luò)化 面向?qū)ο? 2.目前美國(guó)Sun公司提供的適用不同開發(fā)規(guī)模的JDK有哪些。 目前Sun共提供了三種不同的版本:微平臺(tái)版J2ME(Java 2 Platform Micro Edition),標(biāo)準(zhǔn)版J2SE(Java 2 Platform Standard Edition)和企業(yè)版J2EE(Java 2 Platform Enterprise Edition),這三種版本分別適用于不同的開發(fā)規(guī)模和類型,對(duì)于普通Java開發(fā)人員和一般學(xué)習(xí)者來說,選用標(biāo)準(zhǔn)版J2SE就可以了,學(xué)會(huì)了J2SE,再學(xué)J2ME或J2EE就比較容易上手,因?yàn)樗鼈冎g雖有所側(cè)重,但相似之處很多,尤其是語言本身是一樣的,都是Java。 3.Java Application的開發(fā)步驟有哪些。 Java Application的開發(fā)步驟: (1)下載JDK軟件并安裝; (2)配置相應(yīng)的環(huán)境變量(path和classpath); (3)編寫Java源程序(文本編輯器或集成開發(fā)環(huán)境IDE); (4)編譯Java源程序,得到字節(jié)碼文件(javac *.java); (5)執(zhí)行字節(jié)碼文件(java 字節(jié)碼文件名)。 4.什么是環(huán)境變量,設(shè)置環(huán)境變量的主要目的是什么。 環(huán)境變量的配置主要是為了進(jìn)行“尋徑”,也即讓程序能找到它需要的文件,所以設(shè)置的內(nèi)容就是一些路徑。 5.不參考書本,試著編寫一個(gè)簡(jiǎn)單的Java Application程序,實(shí)現(xiàn)在Dos窗口輸出“Welcome to Nanjing City!”字符串。并對(duì)該程序進(jìn)行編譯和運(yùn)行。 public class Hello { public static void main(String args[]) { System.out.println("Welcome to Nanjing City!"); } } 6.編寫一個(gè)Java Application程序,實(shí)現(xiàn)分行顯示字符串“Welcome to Nanjing City”中的四個(gè)單詞。 public class Hello { public static void main(String args[]) { System.out.println("Welcome "); System.out.println("to "); System.out.println("Nanjing "); System.out.println("City!"); } } 第3章 1.Java語言對(duì)于合法標(biāo)識(shí)符的規(guī)定是什么?指出以下哪些為合法標(biāo)識(shí)符。 a a2 3a *a _a $a int a% 在Java語言中,標(biāo)識(shí)符必須以字母、美元符號(hào)或者下劃線打頭,后接字母、數(shù)字、下劃線或美元符號(hào)串。另外,Java語言對(duì)標(biāo)識(shí)符的有效字符個(gè)數(shù)不做限定。 合法的標(biāo)識(shí)符: a a2 _a $a 2.變量的涵義是什么?變量名與變量值的關(guān)系? 在程序執(zhí)行過程中其值可以改變的數(shù)據(jù),稱為變量,它本質(zhì)上代表了內(nèi)存中的一小塊空間。每個(gè)變量都必須有對(duì)應(yīng)的名稱來標(biāo)識(shí)它,即變量名,而變量空間所存放的數(shù)據(jù)則稱為變量值。 3.Java語言提供哪些基本的數(shù)據(jù)類型,為什么要提供這些不同的數(shù)據(jù)類型? 布爾型:boolean 整型:byte、short、int以及l(fā)ong 浮點(diǎn)型(實(shí)型):float以及double 字符型:char 數(shù)據(jù)類型代表了數(shù)據(jù)的存儲(chǔ)格式和處理方式,雖然嚴(yán)格來說計(jì)算機(jī)只能識(shí)別“0”和“1”,但是,有了數(shù)據(jù)類型以后,計(jì)算機(jī)的識(shí)別能力就被人為擴(kuò)展了,它能夠識(shí)別整數(shù)、實(shí)數(shù)以及字符等。 4.賦值語句的涵義是什么? 數(shù)據(jù)傳遞。 5.?dāng)?shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的原則是什么?如何轉(zhuǎn)換? 對(duì)于變窄轉(zhuǎn)換,如long到short、double到float,或者不兼容轉(zhuǎn)換:float到short、char到short等,則需要進(jìn)行強(qiáng)制轉(zhuǎn)換。 float f = 11.5; short b ; b = (short)f; (強(qiáng)制轉(zhuǎn)換) 6.每一條程序語句都應(yīng)以分號(hào)來結(jié)束,這個(gè)分號(hào)能否用中文輸入模式下輸入的分號(hào),為什么? 不能。首先中英文輸入模式下輸入的分號(hào)是不同的,不但外觀不同,其存儲(chǔ)所需的空間也是不同的,Java編譯器只能識(shí)別英文的分號(hào),對(duì)于中文分號(hào),將會(huì)報(bào)錯(cuò)。 第4章 1.假定乘坐飛機(jī)時(shí),每位顧客可以免費(fèi)托運(yùn)20kg以內(nèi)的行李,超過部分按每公斤收費(fèi)1.2元,以下是相應(yīng)的計(jì)算收費(fèi)程序。該程序存在錯(cuò)誤,請(qǐng)找出。 public class Test { public static void main(String[] args) throws IOException { float w,fee; //以下代碼為通過控制臺(tái)交互輸入行李重量 InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); System.out.println("請(qǐng)輸入旅客的行李重量:"); String temp=input.readLine(); w = Float.parseFloat(temp); //字符串轉(zhuǎn)換為單精度浮點(diǎn)型 fee = 0; if ( w > 20); fee = (float)1.2 * (w-20); System.out.println("該旅客需交納的托運(yùn)費(fèi)用:"+fee+"元"); } } 缺少 import java.io.*; 語句 2.有一條長(zhǎng)的階梯,如果每步2階,則最后剩1階,每步3階則剩2階,每步5階則剩4階,每步6階則剩5階,只有每步7階的最后才剛好走完,一階不剩,問這條階梯最少共有多少階?找出以下求解程序的錯(cuò)誤所在。 public class Test { public static void main(String[] args) { int i; while(i%2==1&&i%3==2&&i%5==4&&i%6==5&&i%7==0) { i++; } System.out.println("這條階梯最少有:"+i+"階"); } } 1)變量i應(yīng)進(jìn)行初始化。 2)while循環(huán)的條件表達(dá)式應(yīng)再加上“非”,這樣才符合邏輯。 3.試用單分支結(jié)構(gòu)設(shè)計(jì)一判斷用戶輸入值X,當(dāng)X大于零時(shí)求X值平方根,否則不執(zhí)行任何操作的程序。 import java.io.*; import java.lang.*; public class Test { public static void main(String[] args) throws IOException { float x; InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); System.out.println("請(qǐng)輸入x:"); String temp=input.readLine(); x = Float.parseFloat(temp); //字符串轉(zhuǎn)換為單精度浮點(diǎn)型 if(x>0) System.out.println("平方根值 "+Math.sqrt(x)); } } 4.從鍵盤讀入兩個(gè)字符,按照字母表排序順序,將前面的字符置于A,排后面的字符置于B。請(qǐng)?jiān)O(shè)計(jì)實(shí)現(xiàn)該程序。 import java.io.*; public class Test { public static void main(String[] args) throws IOException { char A,B,c1,c2; c1 = (char)System.in.read();; c2 = (char)System.in.read();; if(c1>c2) { A=c2; B=c1; }else { A=c1; B=c2; } System.out.println("A="+A+" B="+B); } } 5.用窮舉法求出3位數(shù)中百、十、個(gè)位數(shù)的立方和就是該數(shù)的數(shù)。 public class Test { public static void main(String[] args) { int a,b,c,x=100; while(x<1000){ a=x%10; b=(x%100-a)/10; c=(x-x%100)/100; if(a*a*a+b*b*b+c*c*c==x) System.out.println(x); x+=1; } } } 6.編程實(shí)現(xiàn)打印以下圖案: *********** ********* ******* ***** *** * public class Test { public static void main(String[] args) { int i,j,k; // i控制行數(shù), k控制*的個(gè)數(shù),j控制空格數(shù) for(i=1;i<=6;i++) { for(j=1;j<=i-1;j++) System.out.print(" "); //打印空格 for(k=1;k<=13-i*2;k++) System.out.print("*"); //打印*號(hào) System.out.println(); //換行 } } } 7.統(tǒng)計(jì)1至1萬共有多少個(gè)數(shù)是素?cái)?shù)。 public class Test { public static void main(String[] args) { int i,j,count=0; label: for(i=1;i<=10000;i++) //查找1到10000以內(nèi)的素?cái)?shù) { for(j=2;j100) break; } System.out.println("s="+s); } } s=105 12.個(gè)位數(shù)是6,且能被3整除的5位數(shù)有多少? public class Test { public static void main(String[] args) { int i=10006,count=0; while(i<100000) { if (i%3==0) count++; i+=10; } System.out.println("符合條件的數(shù)共有"+count+"個(gè)"); } } 13.用嵌套循環(huán)結(jié)構(gòu),設(shè)計(jì)一模擬電子鐘的程序。 提示:定義三個(gè)變量分別代表“小時(shí)”、“分”和“秒”,根據(jù)電子鐘分、秒、小時(shí)之間的關(guān)系,采用三重循環(huán)來控制各量的增加,并由輸出語句將變化中的三個(gè)量分別予以輸出顯示,即為一模擬數(shù)字電子鐘。此外,Java語言提供的延時(shí)方法為Thread.sleep(1000);1000的單位為毫秒,即延時(shí)1秒。 import java.util.*; public class Test { public static void main(String[] args) throws InterruptedException { int hour=12,min=0,sec=0; while(hour<24) { while(min<60) { while(sec<60) { sec++; Thread.sleep(1000); System.out.println(hour+"時(shí)-"+min+"分-"+sec+"秒"); } sec=0; min++; } min=0; hour++; } } } 第5章 1.以下敘述中不正確的是______。 A、在方法中,通過return語句傳回方法值 B、在一個(gè)方法中,可以執(zhí)行有多條return語句,并返回多個(gè)值 C、在Java中,主方法main()后的一對(duì)圓括號(hào)中也可以帶有參數(shù) D、在Java中,調(diào)用方法可以在System.out.println()語句中完成 B 2.以下正確的描述是______。 A、方法的定義不可以嵌套,但方法的調(diào)用可以嵌套 B、方法的定義可以嵌套,但方法的調(diào)用不可以嵌套 C、方法的定義和方法的調(diào)用均不可以嵌套 D、方法的定義和方法的調(diào)用均可以嵌套 A 3.以下正確的說法為______。 A、在不同方法中不可以使用相同名字的變量 B、實(shí)際參數(shù)可以在被調(diào)方法中直接使用 C、在方法內(nèi)定義的任何變量只在本方法范圍內(nèi)有效 D、在方法內(nèi)的復(fù)合語句中定義的變量只在本方法語句范圍內(nèi)有效 C 4.按Java語言的規(guī)定,以下正確的說法是______。 A、實(shí)參不可以是常量,變量或表達(dá)式 B、形參不可以是常量,變量或表達(dá)式 C、實(shí)參與其對(duì)應(yīng)的形參占用同一個(gè)存儲(chǔ)單元 D、形參是虛擬的,不占用存儲(chǔ)單元 D 5.一個(gè)Java Application程序中有且只有一個(gè) 方法,它是整個(gè)程序的執(zhí)行入口。 main()方法 6.方法通??梢哉J(rèn)為由兩部分組成,它們是 和 。 方法頭和方法體 7.讀程序?qū)懡Y(jié)果。 public class Test { static void m(int x, int y, int z) { x=111; y=222; z=333; } public static void main(String args[ ] ) { int x=100, y=200, z=300; m(x, y, z); System.out.println(“x=”+x+”y=”+y+”z=”+z); } } x=100y=200z=300 8.編寫一個(gè)判斷某個(gè)整數(shù)是否為素?cái)?shù)的方法。 public boolean prime(int x) { for(int j=2;j- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Java 程序設(shè)計(jì)教程 答案 程序設(shè)計(jì) 教程
鏈接地址:http://ioszen.com/p-9343026.html