版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1.5思考與練習(xí)1.簡答題(1)簡述Java語言的發(fā)展過程。Java的歷史要追溯到1991年,當(dāng)時美國SunMicrosystems公司的PatrickNaughton及其伙伴JamesGosling帶領(lǐng)的工程師小組想要設(shè)計一種小型的計算機語言,主要應(yīng)用對象是有線電視轉(zhuǎn)換盒這類消費設(shè)備。剛開始,該項目成員準備采用C++語言,但感覺到C++語言太復(fù)雜,安全性也差,無法滿足項目設(shè)計的需要,最后決定基于C++開發(fā)一種新的編程語言。Gosling臨時為它起名叫Oak語言,但后來發(fā)現(xiàn)Oak是一種已有計算機語言的名稱,于是又將其改名為Java,并配了一杯冒著熱氣的咖啡圖案作為它的標志。(2)簡述Java語言的特點。簡單性、面向?qū)ο笮?、分布與安全性、與平臺無關(guān)性、編譯和解釋特性、多線程、動態(tài)執(zhí)行、自動廢區(qū)回收性、豐富的API文檔和類庫(3)完成環(huán)境變量的設(shè)置。(4)編寫一個簡單的Java應(yīng)用程序,并使用JDK工具在命令環(huán)境下編譯運行。(5)在Eclipse下編寫一個簡單的Java應(yīng)用程序,并編譯運行。2.7思考與練習(xí)1.簡答題(1)Java語言中標識符的組成有何要求?標識符以一個字母、下劃線(_)或美元符號($)開始,隨后可以跟數(shù)字、字母、下劃線或美元符號。標識符區(qū)分大小寫,沒有長度限制,可以為標識符取任意長度的名字。標識符不能是Java中的關(guān)鍵字。(2)如何定義常量和變量?定義常量的語法如下:finaldatatypeCONSTNAME=VALUE;聲明變量的語法格式如下:typeidentifier[=value][,identifier[=value]…..];(3)Java的基本數(shù)據(jù)類型有哪些?Java中的基本數(shù)據(jù)類型共有三大類:數(shù)值型、字符型和布爾型,數(shù)值型又分為整數(shù)類型和浮點類型。(4)何時需要進行強制類型轉(zhuǎn)換?當(dāng)把級別高的變量值賦給級別低的變量時,需要進行強制類型轉(zhuǎn)換,強制類型轉(zhuǎn)換的格式為:(類型名)要轉(zhuǎn)換的值;3.4思考與練習(xí)1.程序設(shè)計題(1)用switch語句實現(xiàn)下述功能:通過鍵盤輸入性別代號,若輸入的是“m”,則輸出“男性”;若輸入的是“f”,則輸出“女性”;其他情況輸出“未知”。importjava.io.*;publicclassTest{publicstaticvoidmain(Stringargs[])throwsIOException { charsex; System.out.println("請輸入性別代號:"); sex=(char)System.in.read(); switch(sex){ case'm':System.out.println("男性"); break; case'f':System.out.println("女性"); break; default:System.out.println("未知"); }}}(2)假定在銀行中存款5000元,按6.25%的年利率計算,試問經(jīng)過多少年后才能連本帶利翻一番?試編程實現(xiàn)之。publicclassTest{publicstaticvoidmain(Stringargs[]) { doublem=5000.0;//初始存款額 doubles=m;//當(dāng)前存款額 intcount=0;//存款年數(shù) do { s=(1+0.0625)*s; count++; }while(s<2*m); System.out.println(count+"年后連本帶利翻一番"); }}(3)寫出下列程序的運行結(jié)果。classless2_test1{publicstaticvoidmain(Stringargs[]){inti=0;outer:for(;true;){inner:for(;i<10;i++){if(i==2) {System.out.println("continue2"); continue; }//ifi=2 if(i==3) {System.out.println("break3"); breakouter; }//ifi=3System.out.println(i+".I'mok"); }//inner}//outerSystem.out.println("theprogramisended");}//main}//class程序的運行結(jié)果為:0.I'mok1.I'mokcontinue2break3theprogramisended4.5思考與練習(xí)1.選擇題(1)A(2)D(3)A(4)C(5)B(6)C(7)B(8)C(9)B(10)C2.程序設(shè)計題(1)classStudent{privateStringname;privateintage;Student(){name=”無名氏”;age=20;}publicvoidsetName(Stringname){=name;}publicStringgetName(){returnname;}publicvoidsetAge(intage){this.age=age;}publicintgetAge(){returnage;}publicBooleanisSameAge(Students){if(s.age==this.age)returntrue;elsereturnfalse;}}(2)publicclassAccount{Stringid,owner;doublebalance;Account(){id=null;owner=null;balance=0.00;}Account(Stringid,Stringowner,doublebalance){ this.id=id;this.owner=owner;this.balance=balance;}publicvoidsetID(Stringid){ this.id=id;}publicvoidsetOwner(Stringowner){ this.owner=owner;}publicdoubledeposit(doubleamount){ if(id==null)System.out.println("賬號未知!"); else {System.out.println("賬戶"+id+"原來余額為"+balance); System.out.println("向賬戶"+id+"存入"+amount); balance+=amount; System.out.println("賬戶"+id+"現(xiàn)余額為"+balance); } returnbalance;}publicdoublewithdraw(doubleamount){ if(id==null)System.out.println("賬號未知!"); elseif(balance<amount) System.out.println("余額不足!"); else{ System.out.println("賬戶"+id+"原來余額為"+balance); System.out.println("從賬戶"+id+"支取"+amount); balance-=amount; System.out.println("賬戶"+id+"現(xiàn)余額為"+balance); } returnbalance; }publicvoidquery(){ System.out.println("賬號為:"+id+"賬戶持有人姓名為:"+owner+"賬戶余額為:"+balance);}publicstaticvoidmain(Stringargs[]){ AccountJimmy=newAccount("001","Jimmy",1000.00); Jimmy.setID("00001"); Jimmy.setOwner("alice"); Jimmy.deposit(500.00); Jimmy.withdraw(200.00); Jimmy.query();}}5.5思考與練習(xí)1.選擇題(1)B(2)A(3)A(4)B(5)B(6)A(7)D(8)CD(9)C(10)B2.程序設(shè)計題interfaceShape{floatgetArea();voidoutPut();}classCircleimplementsShape{floatr;Circle(floatr){this.r=r;}publicfloatgetArea(){return3.14*r*r}publicvoidoutPut(){System.out.println(“圓形面積為”+getArea());}}classTestCircle(){publicstaticvoidmain(String[]args){CircleC1=newCircle(5.0f);C1.outPut();}}6.4思考與練習(xí)1.簡答題(1)String和StringBuffer有什么區(qū)別?String類表示了定長、不可變的字符序列,Java語言中所有的字符串常量(如“abc”)都作為此類的實例來實現(xiàn)。它的特點是一旦賦值,便不能改變其指向的字符串對象,如果更改,就會指向一個新的字符串對象。StringBuffer類可以完成字符串的動態(tài)添加、插入和替換等操作。StringBuffer表示變長的和可寫的字符序列。StringBuffer類可以插入其中或追加其后的字符或子字符串,還可以針對這些添加操作自動地增加空間,同時它通常還有比實際需要更多的預(yù)留字符,從而允許增加空間。(2)編程產(chǎn)生0~100之間的隨機數(shù)。importjava.util.*;publicclassStringTokenizerDemo{publicstaticvoidmain(Stringargs[]){ intk=(int)(Math.random()*100); System.out.print(k);}}7.6思考與練習(xí)1.程序設(shè)計題(1)使用圖形用戶界面編寫一個猜數(shù)游戲程序GuessNumber.java,程序生成一個10以內(nèi)的整數(shù),用戶從鍵盤輸入猜測的數(shù),程序提示猜的數(shù)比生成的數(shù)大還是小,直到猜對為止。請自己設(shè)置圖形用戶界面的布局。importjava.awt.*;importjava.awt.event.*;publicclassGuessNumberextendsFrameimplementsActionListener{ Labell; TextFieldguess,result; Buttoncheck; inti1; GuessNumber(){ i1=(int)(Math.random()*10)+1; l=newLabel("請輸入猜測的數(shù)"); guess=newTextField(5); result=newTextField(20); check=newButton("查看結(jié)果"); this.setLayout(newFlowLayout()); add(l); add(guess); add(result); add(check); check.addActionListener(this); this.setSize(200,200); validate(); this.setVisible(true); } publicvoidactionPerformed(ActionEvente){ inti2; i2=Integer.parseInt(guess.getText()); if(i1<i2){ result.setText("猜大了,請重新猜!"); guess.setText(""); } elseif(i1>i2){ result.setText("猜小了,請重新猜!"); guess.setText(""); } else{ result.setText("恭喜您,猜對了!"); } } publicstaticvoidmain(Stringargs[]){ newGuessNumber(); }}(2)設(shè)計一個界面程序ClickMe.java,內(nèi)含一個按鈕,開始運行時,按鈕顯示“ClickMe”字樣,當(dāng)按下按鈕時,按鈕上面的文字變成了“ClickMeAgain”,再按一次,則變回原來的“ClickMe”字樣,如此循環(huán)。importjava.awt.*;importjava.awt.event.*;publicclassClickMeextendsFrameimplementsActionListener{Buttonb;intcount=0;publicClickMe(){ b=newButton("ClickMe"); this.setLayout(newFlowLayout()); add(b); this.setSize(500,500); validate(); this.setVisible(true); b.addActionListener(this);}publicvoidactionPerformed(ActionEvente){ count++; if(count%2!=0)b.setLabel("ClickMeAgain"); elseb.setLabel("ClickMe");}publicstaticvoidmain(Stringargs[]){ newClickMe();}}(3)編寫一個數(shù)字-英文轉(zhuǎn)換的圖形用戶界面程序EnglishToNumber.java,包括一個文本框和一個標簽。在文本框中輸入一個數(shù)字(0~9),按回車鍵,在標簽處顯示對應(yīng)的英文單詞。0~zero,1~one,……9~nine.,如圖所示。若輸入非數(shù)字字符,在標簽處顯示“輸入錯誤!”。若輸入的數(shù)據(jù)超過0~9的范圍,提示“輸入的數(shù)據(jù)超出范圍!”importjava.awt.*;importjava.awt.event.*;publicclassEnglishToNumberextendsFrameimplementsActionListener{TextFieldt;Labell;publicEnglishToNumber(){ t=newTextField(10); l=newLabel(); this.setLayout(newBorderLayout()); add(t,"North"); add(l,"Center"); t.addActionListener(this); this.setSize(200,200); validate(); this.setVisible(true);}publicvoidactionPerformed(ActionEvente){ if(Integer.parseInt(t.getText())==0) l.setText("zero"); elseif(Integer.parseInt(t.getText())==1) l.setText("one"); elseif(Integer.parseInt(t.getText())==2) l.setText("two"); elseif(Integer.parseInt(t.getText())==3) l.setText("three"); elseif(Integer.parseInt(t.getText())==4) l.setText("four"); elseif(Integer.parseInt(t.getText())==5) l.setText("five"); elseif(Integer.parseInt(t.getText())==6) l.setText("six"); elseif(Integer.parseInt(t.getText())==7) l.setText("seven"); elseif(Integer.parseInt(t.getText())==8) l.setText("eight"); elseif(Integer.parseInt(t.getText())==9) l.setText("nine"); elseif(Integer.parseInt(t.getText())>9) l.setText("輸入的數(shù)據(jù)超出范圍"); else l.setText("輸入錯誤!");}publicstaticvoidmain(Stringargs[]){ newEnglishToNumber();}}(4)編寫一個圖形界面程序WelcomeYou,java,包括兩個文本框和一個按鈕。在第一個文本框中輸入一個姓名,當(dāng)按回車時,在第二個文本框中輸出“姓名,歡迎你!”。例如,輸入“kitty”,輸出“kitty,歡迎你!”,如圖所示。importjava.awt.*;//引入類庫importjava.awt.event.*;classWelcomeYouextendsFrameimplementsActionListener{Labelprompt;//聲明標簽對象TextFieldinput,output;//聲明文本對象Buttonbtn;//聲明按鈕對象FrameInOut(){super("圖形界面的JavaApplication程序");prompt=newLabel("請輸入您的姓名");input=newTextField(6);output=newTextField(20);btn=newButton("關(guān)閉");//產(chǎn)生按鈕并初始化setLayout(newFlowLayout());//窗體布局add(prompt);//在窗體上填加控件add(input);add(output);add(btn);input.addActionListener(this);//為控件填加監(jiān)聽功能btn.addActionListener(this);setSize(200,200);//窗體大小setVisible(true);//可見}publicvoidactionPerformed(ActionEvente){if(e.getSource()==input)//判斷動作控件是否為文本output.setText(input.getText()+“,歡迎你!”);//將輸入內(nèi)容與“,歡迎你!”連接后在輸出文本中輸出else{dispose();System.exit(0);//關(guān)閉窗體}}publicstaticvoidmain(Stringargs[]){newWelcomeYou();//聲明產(chǎn)生窗體}}8.6思考與練習(xí)1.程序設(shè)計題聲明窗口類ReadFile,在窗口中輸入用戶名和密碼,并將用戶名和密碼保存到文件Secret.txt中。程序的運行界面如下圖所示:importjava.awt.*;importjava.awt.event.*;importjava.io.*;publicclassReadFileextendsFrameimplementsActionListener{Labelm_id=newLabel("用戶名:");Labelm_key=newLabel("密碼:");Buttonm_input=newButton("存入");TextFieldId=newTextField(10);TextFieldKeyid=newTextField(10);StringoutFilename;StringBufferm_buf=newStringBuffer();ReadFile(){this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});this.setLayout(newFlowLayout());add(m_id);add(Id);add(m_key);add(Keyid);Keyid.setEchoChar('*');add(m_input);m_input.addActionListener
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度電商新能源商品銷售合作協(xié)議3篇
- 二零二五年度旅行社導(dǎo)游帶團服務(wù)質(zhì)量提升勞動合同2篇
- 2025年環(huán)保型家用除塵器定制安裝服務(wù)合同3篇
- 基于內(nèi)部控制的存貨會計差錯問題研究
- 二零二五年度化工產(chǎn)品出口貿(mào)易合同(2025版)4篇
- 社區(qū)老年2型糖尿病患者睡眠質(zhì)量的影響因素及與衰弱、自我效能和風(fēng)險感知的關(guān)系研究
- 海陸風(fēng)環(huán)流及對流層頂折卷對長三角空氣污染的影響研究
- 2025年度林業(yè)病蟲害防治與生態(tài)保護服務(wù)合同4篇
- 二零二五年度二手車買賣購車合同支持異地交易
- 2025年度生態(tài)辦公場地出租及綠化維護服務(wù)合同4篇
- 高考滿分作文常見結(jié)構(gòu)完全解讀
- 專題2-2十三種高考補充函數(shù)歸類(講練)
- 理光投影機pj k360功能介紹
- 六年級數(shù)學(xué)上冊100道口算題(全冊完整版)
- 八年級數(shù)學(xué)下冊《第十九章 一次函數(shù)》單元檢測卷帶答案-人教版
- 帕薩特B5維修手冊及帕薩特B5全車電路圖
- 系統(tǒng)解剖學(xué)考試重點筆記
- 小學(xué)五年級解方程應(yīng)用題6
- 云南省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板
- 年月江西省南昌市某綜合樓工程造價指標及
- 作物栽培學(xué)課件棉花
評論
0/150
提交評論