




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章java語言的特點:1. 簡單性2.面向對象性3.分布式與安全性4.與平臺無關性5.編譯和解釋特性6.多線程7.動態執行8.自動廢區回收性9.豐富的api文檔和類庫第二章1.java語言對標識符的組成有何要求? 標識符用來標識類名,變量名,方法名,類型名,數組名,文件名的有效序列稱為標識符。簡單地說,標識符就是一個名字。java語言規定標識符由字母,下劃線,美元符號和數字組成,并且第一個字符不能是數字字符。標識符不能是關鍵字,但是它可以包含關鍵字作為它的一部分。2.如何定義變量和常量? 常量: 關鍵字+數據類型+常量名稱=常量值 如 final datatype constname=va
2、lue 變量: 變量聲明要三部分:變量類型,變量名,初始值 int x=1;3.java的數據類型有哪些?1) 布爾類型:boolean(邏輯型) true or false 默認是false 2) 整數類型 byte(字節類型) 一個byte 8位,占用1個字節 例32b 默認是0 取值范圍是-2727-1 -128127 short(短整型) 一個short 16位,占用2個字節 例32s默認是0 取值范圍是-215215-1 -3276832767 int(整型) 一個int 32位,占用4個字節 例32默認是0 取值范圍是-231231-1 -21474836482147483647
3、long(長整型) 一個long 64位占用8個字節 例32l默認是0 取值范圍是-263263-1 -922337203685477480892233720368547748073) 字符型 char 用單個字符表示 無符號 unicode字符 例 a 1 取值范圍是u0000uffff4) 浮點類型分 float(單精度浮點型) 一個float 32位,占用4個字節 例3.2f默認是0.0f 取值范圍是3.4e-0383.4e+038 double(雙精度浮點型) 一個double 64位,占用8個字節 例3.2 默認是0.0 取值范圍是1.7e-0381.7e+038 4.利用if語句判
4、斷兩個數是否相等。public class ifstatementpublic static void main(string args)int a = 2,b=1;if (a=b) system.out.println(a=b)else system.out.println(a不等于b);5.利用if-else語句判斷某一具體年份是否為瑞年。public class yunnianstatement public static void main(string args) int x=2010; if(x%4=0&x%100!=0)|(x%4=0&x%400=0) system.out.pr
5、intln(該年為閏年); else system.out.println(該年為平年); 6.利用switch語句實現如下功能:根據用戶輸入的年份和月份,有程序判斷該年的該月有多少天。public class ttianshustatement public static void main(string args) int y=0,m=0,n=0; y=integer.parseint(args0); m=integer.parseint(args1); switch(m) case 1: case 3: case 5: case 7: case 8: case 10: case 12:
6、system.out.println(31); break; case 4: case 6: case 9: case 11: system.out.println(30); break; case 2: if(y%4=0&y%100!=0)|(y%4=0&y%400=0) n=28; else n=29; system.out.println(n); break; default: system.out.println(輸入錯誤); 7.利用兩種不同的循環語句計算10的階乘。public class jiechengstatement public static void main(stri
7、ng args) int x,sum=1; for(x=10;x1;x-) sum=sum*x; system.out.println(sum); 8.計算10-100之間的所有素數之和。public class sushustatement public static void main(string args) int n,x,sum=0; for(n=10;n=100;n+) for(x=2;xn;x+) if(n%x=0) break; if(x=n) sum=sum+n; system.out.println(sum); 9.如何定義多維數組. 數據類型 數組名稱;數據類型 數組名稱
8、;數據類型 數組名稱;第三章1.定義一個類,仔細觀察類中各部分的詳細聲明。2.假設在圖書管理系統中有一個讀者借閱信息類,包括: 屬性:書名,作者,出版社,借書時間,還書時間,應還時間,超期時間,罰款金額。 方法:設置書名,設置作者。這只出版社,獲取書名,獲取出版社信息。 聲明并定義該類。 class books private string name; private string authors; private string publisher; private double borrowtime; private double returntime; private double nee
9、dreturntime; private double overdays; private double money: public books()public books(string name,string authors,string publisher,double borrowtime,double returntime,double needreturntime,double overdays,double money)name=name;authors=authors;publisher=publisher;borrowtime=borrowtime;returntime=ret
10、urntime;needreturntime=needreturntime;overdays=overdays;money=money;public string getname() return name;public viod setname(string name)name=name;public string getauthors() return authors;public viod setauthors(string name)authors=authors;public string getauthors() return authors;public viod setauth
11、ors(string name)authors=authors;3.在2題基礎上創建讀者借閱信息類的構造函數,重新創建該類的對象,并輸出對象基本信息4.構造函數的作用是什么?在習題3的基礎上添加讀者借閱信息類的構造函數,重新創造該類的對象,并輸出對象的基本信息。 構造函數作用:1) 對象初始化。2) 引入更多靈活度。3) java語言中可以不定義構造函數。5.說明static聲明屬性,方法和不用static限制的區別。 聲明屬性:定義靜態數據的簡單方法就是在屬性的前面加上關鍵字static。 方法:靜態方法的定義和非靜態方法的定義在形式上沒有什么區別,只是在聲明為靜態方法前面加上一個關鍵字st
12、atic。 區別:1.在外部調用靜態方法時,可以使用“類名.方法名”的方式,也可以使用“對象名.方法名”的方式。而實例方法只有后面這種方式。也就是說,調用靜態方法無需創建對象。 2.靜態方法在訪問本類的成員時,只允許訪問靜態成員(即靜態成員變量和ing太方法),不能訪問非你高抬的成員變量。6.java語言中的訪問控制符有幾個?分別說明他們對類中成員的限制作用。 屬性和方法的訪問控制符有四種:private, 缺省控制符, protected, public 同一類中 同一包中 同一子類中 通用(其它) private yes 缺省控制符 yes yes protected yes yes ye
13、s public yes yes yes yes 7.final的作用是什么? final方法 將方法聲明為final,那就說明你已經知道這個方法提供的功能已經滿足你要求,不需要進 行擴展,并且也不允許任何從此類繼承的類來覆寫這個方法,但是繼承仍然可以繼承這個方 法,也就是說可以直接使用。 final類 當你將final用于類身上時,你就需要仔細考慮,因為一個final類是無法被任何人繼承的,那也就意味著此類在一個繼承樹中是一個葉子類,并且此類的設計已被認為很完美而不需要進行修改或擴展。第四章1.子類和父類的關系是什么?怎樣實現父子類之間成員和成員方法的隱蔽? 繼承,是對有著共同特性的多類事物
14、,進行再抽象成一個類。這個類就是多類事物的父類。父類的意義在于可以抽取多類事物的共性。子類中有和父類中可訪問(可繼承到子類)的同名同返回類型同參數表的方法,就會覆蓋從父類繼承來的方法。 怎樣實現父子類之間成員和成員方法的隱蔽。沒找到!2.方法的覆蓋和重載區別是什么? 重載與覆蓋的區別: 1、方法的覆蓋是子類和父類之間的關系,是垂直關系;方法的重載是同一個類中方法之間的關系,是水平關系。 2、覆蓋只能由一個方法,或只能由一對方法產生關系;方法的重載是多個方法之間的關系。 3、覆蓋要求參數列表相同;重載要求參數列表不同。 4、覆蓋關系中,調用那個方法體,是根據對象的類型(對象對應存儲空間類型)來決
15、定;重載關系,是根據調用時的實參表與形參表來選擇方法體的。3.this和super的含義是什么? 關鍵字this和super是常用來指代父類和子類對象的關鍵字。 1.當一個方法引用自身對象時,就使用this關鍵字。 .想通過構造方法將外部傳入的參數賦值給類的成員變量,構造方法的形式參數名稱與類的成員名稱變量名相同。 .假設有一個容器類和一個部件類,在容器類的某個方法中要創建部件類的實例對象,而部件類的構造方法要接受一個代表其所在容器的參數。 .構造方法是在產生對象時被java系統自動調用的,不能再程序中像調用其他方法一樣去調用構造方法. 2.super關鍵字表示的是對當前對象的直接父類對象,是
16、對當前對象的直接父類對象的引用。4.抽象類和接口的概念是什么?兩者區別在哪? 抽象類就是沒有具體對象的概念類,是其所有子類的公共屬性的集合,所以使用抽象類的一大優點就是可以充分利用這些公共屬性來提高開發和維護程序需的效率。 接口是java實現多重能繼承功能的一種手段,一種結構。 區別:接口是公開的,里面不能有私有的方法或變量,是用于讓別人使用的,而抽象類是可以有私有方法或私有變量的, 另外,實現接口的一定要實現接口里定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用里,最頂級的是接口,然后是抽象類實現接口,最后才到具體類實現。 還有,接口可以實現多重繼承,而一個類只能繼承一
17、個超類,但可以通過繼承多個接口實現多重繼承,接口還有標識(里面沒有任何方法,如remote接口)和數據共享(里面的變量全是常量)的作用.5.包的概念是什么,如何創建和使用包? 一個包就是一些提供訪問保護和命名空間管理的相關類與接口的集合。使用包的目的就是使類更容易查找和使用,防止命名沖突,以及進行控制訪問。 創建包 要創建包,只需要在java源程序的第一行輸入package命令即可 package 包名 使用包 不知道 第五章1.string和stringbuffer有什么區別? string類表示了定長,不可變的字符序列。 stringbuffer類可以插入其中或追加其后的字符或字符串,還可
18、以針對這些添加操作自動地增加空間,同時它通常還有比實際需要更多的預留字符,從而允許增加空間。2.在vector對象中存放10位學生的姓名,學號,3門成績,并輸出。import java.util.*;public class vectortest public static void main (string args)throws exception vector vector1 = new vector(); vector vector=vector1.getclass().newinstance(); string s1=杜昊凡 學號08 成績98 80 88; string s2=寇曄
19、 學號16 成績98 80 88; string s3=夏雪艷 42 成績98 80 88; string s4=孟春穎 27 成績98 80 88; string s5=馮媛 07 成績98 80 88; string s6=張穎喆 52 成績98 80 88; string s7=史瑞輝32 成績98 80 88; string s8=肖博 40 成績98 80 88; string s9=宋鵬 38 成績98 80 88; string s10=王丹 48 成績98 80 88; vector.add(s1); vector.add(s2); vector.add(s3); vector
20、.add(s4); vector.add(s5); vector.add(s6); vector.add(s7); vector.add(s8); vector.add(s9); vector.add(s10); for(int i=0;i31) system.out.println(請輸入正確日期); else switch(week) case 1:system.out.println(星期一);break; case 2:system.out.println(星期二);break; case 3:system.out.println(星期三);break; case 4:system.o
21、ut.println(星期四);break; case 5:system.out.println(星期五);break; case 6:system.out.println(星期六);break; case 7:system.out.println(星期天);break; 4.編程產生0-100之間的隨機數。public class random public static void main (string args) int i; int a=new int 10; for (i=0 ;i10;i+) ai=(int)(math.random()*100); for (i=0 ;i1;i+
22、) system.out.println(ai); 5.如何獲得系統的當前時間。import java.util.*;class data public static void main(string args) calendar calendar=calendar.getinstance(); calendar.settime(new date(); string 年=string.valueof(calendar.get(calendar.year), 月=string.valueof(calendar.get(calendar.month)+1), 日=string.valueof(ca
23、lendar.get(calendar.day_of_month), 星期=string.valueof(calendar.get(calendar.day_of_week)-1); int hour=calendar.get(calendar.hour_of_day), minute=calendar.get(calendar.minute), second=calendar.get(calendar.second); system.out.println(現在的時間是:); system.out.println(+年+年+月+月+日+日 + 星期+星期); system.out.print
24、ln(+hour+時+minute+分+second+秒); 6.在java程序中調用其他可執行的外部程序,執行,并輸出程序的運行時間。第六章1.簡述異常的概念。 異常是程序運行過程中出現的錯誤。2.請畫出java語言中異常的層次結構圖。(p121頁 圖6.2)3.請描述throw和throws語言的區別 區別一: throw 是語句拋出一個異常;throws 是方法拋出一個異常; throw語法:throw 在方法聲明中,添加throws子句表示該方法將拋出異常。 throws語法:()throws 其中:異常類可以聲明多個,用逗號分割。 區別二: throws可以單獨使用,但throw不能
25、;區別三: throw要么和try-catch-finally語句配套使用,要么與throws配套使用。但throws可以單獨使用,然后再由處理異常的方法捕獲。4.自定義一個異常類,從命令行獲取兩個數據,進行除法運算,如果分母為0或輸入的不是兩個參數,均異常拋出。import java.io.*;public class text public static void main(string args)throws ioexception int num1,num2,sum; string str; bufferedreader buf; buf=new bufferedreader(new
26、inputstreamreader(system.in); system.out.println(input the first integer:); str=buf.readline(); num1=integer.parseint(str); system.out.print(input the second integer:); str=buf.readline(); num2=integer.parseint(str); sum=num1/num2; system.out.println(the sum is +sum); 第七章1.簡述awt和swing兩者的關系。 swing組件都
27、是從awt組件繼承的,swing是輕量組件,而awt是重量組件,每個組件都有一個本地peer,這就是為什么swing組件在大多數系統上顯示都差不多而awt就反之了。 swing組件與awt相比,swing組件顯現出強大的優勢。 1.豐富的組件類型 2.更好的組件api模型支持 3.標準的gui庫。 4.性能更穩定2.創建一個標題為“歡迎使用圖書管理系統的窗口 import java.awt.*;import javax.swing.*;public class mainframe extends jframe public mainframe() this.settitle(歡迎使用圖書館管理
28、系統); container container=this.getcontentpane(); container.setlayout(new borderlayout(); jpanel panel=new jpanel(); panel.setbackground(color.blue); jbutton bt=new jbutton(exit ); panel.add(bt); container.add(panel,borderlayout.south); this.setvisible(true); this.setsize(600,450); public static void
29、main(stringargs) new mainframe();3.java提供了幾種布局管理器,他們之間的區別是什么? java.awt提供了5種布局管理器: 1. flowlayout 2. borderlayout 3. gridlayout 4. cardlayout 5. gridbaglayout javax.swing還提供了 6. boxlayout 區別:找不到,網上也沒說清楚,抱歉4.什么是事件適配器,它的優點是什么? 事件適配器,為一些listener接口提供了適配器(adapter)類通過繼承事件所對應的adapter類,只需重寫需要的方法提供了一種簡單的實現監聽器的
30、手段,可以縮短程序代碼由于java的單一繼承機制,當需要多種監聽器或此類已有父類時,就無法采用事件適配器了。 優點:在實際開發中,在編寫監聽器代碼時不再直接實現監聽接口,而是繼承適配器類并重寫需要的事件處理方法,這樣避免了編寫大量不必要的代碼。第八章1.編寫程序,創建一個標簽和一個命令按鈕。單擊命令按鈕時。標簽在“你好”和“再見”之間轉換import java.awt.*;import java.awt.event.*;import javax.swing.*;public class jbuttionjtextareademo extends jframe private jbutton b
31、t1;private container container; private jlabel label;public jbuttionjtextareademo() container = this.getcontentpane();bt1 = new jbutton(確定);label = new jlabel(你好);bt1.addactionlistener(new actionlis();jpanel p1 = new jpanel();p1.add(bt1);p1.add(label); container.add(p1, borderlayout.center); this.ad
32、dwindowlistener(new windowadapter() public void windowclosing(windowevent e) system.exit(0););this.setsize(600, 450);this.setvisible(true);class actionlis implements actionlistener public void actionperformed(actionevent e) if (e.getsource() = bt1) if(label.gettext()=你好)label.settext(再見); else label
33、.settext(你好); public static void main(string arg) new jbuttionjtextareademo();4.設置一個jlabel組件,開始內容為你好,設置三個jcheckbox,標題紅綠藍,設置三個jradiobutton組件,標題10,16,20,根據案件改變字體大小和顏色。import java.awt.*;import javax.swing.*;import java.awt.event.*;public class a extends jframe implements itemlistener,actionlistener pri
34、vate jlabel lb1; private jcheckbox b1, b2, b3; private container container;int red = 0, green = 0, blue = 0; int fonti=10; font font;public a() container = this.getcontentpane(); buttongroup bt=new buttongroup(); jradiobutton d1=new jradiobutton(10); jradiobutton d2=new jradiobutton(16); jradiobutto
35、n d3=new jradiobutton(20);b1 = new jcheckbox(紅色); b2 = new jcheckbox(綠色);b3 = new jcheckbox(藍色);lb1 = new jlabel(你好);lb1.setmaximumsize(new dimension(150, 200);container.add(lb1, borderlayout.center);jpanel p1 = new jpanel(); p1.setlayout(new flowlayout(flowlayout.left);p1.add(b1);p1.add(b2);p1.add(
36、b3); p1.add(d1); p1.add(d2); p1.add(d3); p1.setbackground(color.red);b1.additemlistener(this);b2.additemlistener(this);b3.additemlistener(this); d1.addactionlistener( this); d2.addactionlistener(this); d3.addactionlistener(this); bt.add(b1); bt.add(b2); bt.add(b3); bt.add(d1); bt.add(d2); bt.add(d3)
37、;container.add(p1, borderlayout.south);this.addwindowlistener(new windowadapter() public void windowclosing(windowevent e)system.exit(0); );this.setsize(450, 450);this.setvisible(true);public void itemstatechanged(itemevent e) if (e.getitem() = b1)if (e.getstatechange() = e.selected) lb1.setforegrou
38、nd(color.red); else red = 0; if (e.getitem() = b2)if (e.getstatechange() = e.selected) lb1.setforeground(color.green); elsegreen = 0;if (e.getitem() =b3)if (e.getstatechange() = e.selected)lb1.setforeground(color.blue);elseblue = 0;lb1.setopaque(true);lb1.setbackground(new color(red,green,blue); pub
39、lic static void main(string arg) new a(); public void actionperformed(actionevent e) string bt=e.getactioncommand( );if (bt=10) fonti=10;else if (bt=16) fonti=16;else fonti=20;font=new font(宋體,font.bold,fonti);lb1.setfont(font);lb1.setbackground(new color(red,green,blue);第九章1.比較fileinputstream流的read
40、方法和filereader流的read的方法有什么異同點? fileinputstream : read() 從此輸入流中讀取一個數據字節。 2. read(byte b) 從此輸入流中將最多 b.length 個字節的數據讀入一個 byte 數組中。 3.read(byte b, int off, int len) 從此輸入流中將最多 len 個字節的數據讀入一個 byte 數組中filereader:所有方法( read ()等)都從父類 inputstreamreader 中繼承而來; 1) read() 讀取單個字符2) read(char cbuf, int offset, int
41、length) 將字符讀入數組中的某一部分。 4.把一段英文字符寫入文件“data。txt”在讀取第一行,統計每個字符出現個數import java.io.*;import java.util.*;public class tttpublic static void main(string args) throws ioexception int app = new intz+1; system.out.println(請輸入要寫入的字符); bufferedreader bf = new bufferedreader(new inputstreamreader(system.in); str
42、ing s = new string(); s = bf.readline(); system.out.println(s); file myfile = new file(d:data.txt); bufferedwriter out = new bufferedwriter(new filewriter(myfile); out.write(s); out.close(); system.out.println(文件已經寫入+myfile.getname(); system.out.println(現在讀取文件內容.); bufferedreader in = new bufferedreader(new filereader(d:data.txt); stringbuffer txt = new stringbuffer(); system.out.println(文件第一行內容是.); while(in.ready() txt.append(i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 特長學生玩出管理制度
- 豬場衛生免疫管理制度
- 環保公司廠區管理制度
- 環保公司采購管理制度
- 環保節能教育管理制度
- 環衛休息驛站管理制度
- 環衛清潔服務管理制度
- 六年級英語下冊Unit1GreatcitiesinAsia教案牛津上海版一起
- 新課改瘦專用2025版高考物理一輪復習第四章第1節曲線運動運動的合成與分解學案含解析
- 現場設備衛生管理制度
- 非法傾倒處置固體廢物整治實施方案
- 2025合同范本電子產品購銷合同
- 防范和打擊非法金融活動競賽試題庫500題(含答案)
- 《電力建設工程施工安全管理導則》(NB∕T 10096-2018)
- 醫學影像科-山東省臨床重點專科評分標準(試行)
- 會計專業工作簡歷表(中級)
- 重慶市沙坪壩區2021-2022學年三年級下學期期末綜合檢測語文試題(無答案)
- 籃球--傳切配合(縱切)課件.ppt
- 《消防安全培訓資料》word版
- 繪就“行走的思政課”
- 臨床技術操作規范重癥醫學分冊(共41頁)
評論
0/150
提交評論