我們在一些事情上受到啟發(fā)后,,應(yīng)該馬上記錄下來,寫一篇心得體會,,這樣我們可以養(yǎng)成良好的總結(jié)方法,。我們?nèi)绾尾拍軐懙靡黄獌?yōu)質(zhì)的心得體會呢?以下是我?guī)痛蠹艺淼淖钚滦牡皿w會范文大全,,希望能夠幫助到大家,,我們一起來看一看吧。
java編程思想心得體會篇一
“紙上得來終覺淺,,絕知此事要躬行,。”在短暫的實(shí)習(xí)過程中,,我深深的感覺到自己所學(xué)知識的膚淺和在實(shí)際運(yùn)用中的專業(yè)知識的匱乏,。剛開始的一段時間里,對一些工作感到無從下手,,茫然不培訓(xùn)班學(xué)習(xí)心得體會知所措,,這讓我感到非常的難過。在學(xué)??傄詾樽约簩W(xué)的不錯,,一旦接觸到實(shí)際,才發(fā)現(xiàn)自己得能力是遠(yuǎn)遠(yuǎn)沒有達(dá)到工作的要求的,,實(shí)際的工作遠(yuǎn)比想象中的要細(xì)致得多復(fù)雜得多,,這時才真正領(lǐng)悟到“活到老學(xué)到老”的含義。實(shí)際的工作能力是書本實(shí)習(xí)心得體會范文上沒有辦法教授給大家的,,必須要通過實(shí)際工作來積累與強(qiáng)化,。來公司實(shí)習(xí)已兩個個多月了,在這段時間里,我主要學(xué)習(xí)java編程,,下面主要談?wù)剬W(xué)習(xí)的經(jīng)驗(yàn)以及心得體會,。
在編程過程中遇到了較多的問題,解決問題的過程是漫長而艱苦的,,然而在問題得到解決的一剎那是很快樂的,。在此與大家分享下:
一、前期規(guī)劃:
我理解的前期規(guī)劃是:在市場人員們匯總一個需求提交給產(chǎn)品專家?guī)ьI(lǐng)的產(chǎn)品經(jīng)理團(tuán)隊(duì),,然后經(jīng)過這個團(tuán)隊(duì)根據(jù)公司具體情況再次分析和規(guī)劃出一個最終需求文檔,。
這個需求文檔應(yīng)當(dāng)首先提交給技術(shù)研發(fā)部門的負(fù)責(zé)人以及核心開發(fā)人員。由開發(fā)團(tuán)隊(duì)對其進(jìn)行技術(shù)和風(fēng)險分析,。如果對此需求統(tǒng)一有異議的地方,,需要返回給產(chǎn)品團(tuán)隊(duì),重新修正需求,。反復(fù)如此,,直至需求完善準(zhǔn)確,細(xì)致,,清晰,。
前期規(guī)劃就像高樓的地基,如果馬馬虎虎,,就算是一塊磚塊沒擺好都可能導(dǎo)致整個高樓建設(shè)的失敗,。在規(guī)劃中我認(rèn)為,交流永遠(yuǎn)是需要雙方積極主動,,能認(rèn)真聽取每個人的建議。前期工作思維不慎重,,不細(xì)致,,不認(rèn)真,不夠完善,,將產(chǎn)生連鎖效應(yīng)直接導(dǎo)致整個工程和項(xiàng)目的失敗,。
這種失敗可能表現(xiàn)為:第一種,軟件按需求實(shí)現(xiàn)但是功能根本不能滿足用戶需要,。第二種,,功能都有了,軟件沒有達(dá)到可用性,、易用性,。
對于第一種,當(dāng)然是因?yàn)榍捌谝?guī)劃疏漏了某些細(xì)小功能,,沒能把需求文檔做完善,。應(yīng)該是規(guī)劃工作做的還不夠認(rèn)真和細(xì)致。
對于第二種情況,我認(rèn)為更多是在產(chǎn)品設(shè)計(jì)規(guī)劃方面經(jīng)驗(yàn)還不夠成熟,。這種問題應(yīng)該是很難避免的,。因?yàn)槊糠N新產(chǎn)品對產(chǎn)品團(tuán)隊(duì)來說都很陌生。即使以前做過類似的東西,,也難免面面俱到,。這只能通過不斷努力和認(rèn)真的態(tài)度來彌補(bǔ)。
前期規(guī)劃的交流涉及了市場,、產(chǎn)品和技術(shù)研發(fā)等多個團(tuán)隊(duì)之間,。需要的不僅是團(tuán)隊(duì)內(nèi)部的交流,,更多需要協(xié)調(diào)好團(tuán)隊(duì)之間的交流,。可能有時候需要公司高層和中層參與協(xié)調(diào),。
目前,,很多開發(fā)人員深感項(xiàng)目的需求文檔寫的都很單薄,。大家可以想一想,如果沒有好的開始,,怎么會有好的結(jié)束呢,?需求文檔單薄,不夠細(xì)致,,由誰來繼續(xù)完善呢,?難道讓程序員們自己去完善。我想程序員也可能沒有這種能力,。對于程序員能把代碼寫的很健壯很穩(wěn)定就已經(jīng)是很不容易的事情了,。
二、概要設(shè)計(jì):
我理解的概要設(shè)計(jì)步驟:(以項(xiàng)目為中心的開發(fā)流程)
1〉 項(xiàng)目經(jīng)理仔細(xì)閱讀項(xiàng)目需求文檔,。
2〉 項(xiàng)目經(jīng)理召集項(xiàng)目開發(fā)成員,,開項(xiàng)目啟動會議。具體商議項(xiàng)目的開發(fā)任務(wù)和責(zé)任分配,。
3〉 核心開發(fā)人員開發(fā)確定,,以及各模塊開發(fā)人員確定。4〉 由系統(tǒng)分析員和核心開發(fā)人員仔細(xì)閱讀需求文檔,,對系統(tǒng)整個架構(gòu)分析和做技術(shù)規(guī)劃,。
5〉 系統(tǒng)分析員整理和書寫最終的系統(tǒng)架構(gòu)和概要設(shè)計(jì)文檔。
6〉 系統(tǒng)分析員在文檔提交日,,提交給項(xiàng)目經(jīng)理,。項(xiàng)目經(jīng)理確認(rèn)文檔并審批。
7〉 項(xiàng)目經(jīng)理召集項(xiàng)目開發(fā)成員,,開一個概要設(shè)計(jì)以及系統(tǒng)架構(gòu)確定的會議,。向每個成員分發(fā)文檔,并討論確定最終概要設(shè)計(jì)文檔。
8〉開始詳細(xì)設(shè)計(jì)文檔的工作
三,、詳細(xì)設(shè)計(jì):
1〉項(xiàng)目經(jīng)理組織成立各個模塊的開發(fā)小組,,并確定開發(fā)小組組長(程序經(jīng)理)。
2〉各開發(fā)組長書寫各自模塊的詳細(xì)設(shè)計(jì)文檔,,開發(fā)成員需要協(xié)助,,配合。
3〉在指定提交日,,開發(fā)組長提交文檔給系統(tǒng)分析員,。由系統(tǒng)分析員審批。
4〉系統(tǒng)分析員組織召開一個詳細(xì)設(shè)計(jì)文檔確認(rèn)的會議,。
5〉然后開發(fā)組長分發(fā)各自模塊的詳細(xì)設(shè)計(jì)文檔給程序員,,程序員在指定時間
內(nèi)完成。
6〉程序員做內(nèi)部測試,。開發(fā)組長協(xié)調(diào)并配合,。
7〉確認(rèn)無bug提交給開發(fā)組組長。
8〉所有模塊整合工作,,由整個開發(fā)組成員參與完成,。
由所有開發(fā)組長和系統(tǒng)分析員負(fù)責(zé)主要部分工作。程序員協(xié)助和配合,。
9〉對整合后工程做詳細(xì)測試,。
10〉確認(rèn)測試通過后,開發(fā)組長根據(jù)開發(fā)成員表現(xiàn)以及提交成果
填寫績效考核表,。然后提交給項(xiàng)目經(jīng)理,。
11項(xiàng)目經(jīng)理會召開項(xiàng)目總結(jié)會,同時向優(yōu)秀成員頒獎,。同時鼓
勵所有成員繼續(xù)努力,。對不能按時完成導(dǎo)致項(xiàng)目能按時提交,以及對導(dǎo)致失敗的 關(guān)鍵人員給與懲罰處理,。
當(dāng)然,以上只是一個簡單的開發(fā)流程,,一定是有很多不足的地方,。希望能起到拋磚引玉的作用。大家都明白,,流程和制度是死的,,但人是活的,所以如何按流程做得好,,關(guān)鍵還是在人本身了,。沒有一個流程和制度,一個團(tuán)隊(duì)也必將是一盤散沙。正所謂“無規(guī)矩?zé)o以成方圓”,。這句話說得很有道理,。
四、具體編碼:
開發(fā)幾個項(xiàng)目之后,,對編寫程序有了更進(jìn)一步的了解,。
好的程序應(yīng)該具有:
易讀性,易擴(kuò)展性,,容錯性,。易讀性: 所有變量和函數(shù)以及類名用簡單易懂易記憶的命名方式。所有類和
函數(shù)甚至變量都有關(guān)鍵的注釋說明,。
這點(diǎn)很重要,,也是最基礎(chǔ)的。如果代碼書寫
不夠美觀和易懂,,我想自己以后也不想再看,。
就更別談功能的擴(kuò)展和新版本開發(fā)了。
易擴(kuò)展性: 整體系統(tǒng)架構(gòu)邏輯簡單清晰,。
模塊與模塊之間盡量做到互不影響,,也就是盡可能的獨(dú)立。這部分工作主要體現(xiàn)在前期設(shè)計(jì)工作中,,需要掌握好的設(shè)計(jì)經(jīng)驗(yàn)和方法才能夠做得比較好,。
容錯性: 對數(shù)據(jù)流和指針以及數(shù)組都做數(shù)據(jù)有效性檢查;對第三方接口的調(diào)
用失敗的容錯性,。對所有代碼都做調(diào)用失敗后的錯誤處理,。
以及在大的工程中加入trace文件輸出,把關(guān)鍵的數(shù)據(jù)流和關(guān)鍵處理部分的操作信息輸出,。
以便對工程異常情況產(chǎn)生條件的定位,,及時解決問題。
我覺得程序員能在這三方面做得很好就算一個優(yōu)秀的programmer了,。
四,、調(diào)試、跟蹤與測試 測試需要注意的:
對每個模塊的接口做測試,,數(shù)據(jù)邊界的檢查,。在對整個模塊做測試。主要測試穩(wěn)定性,,效率以及功能是否正常,。確認(rèn)單個模塊完全正常后,再加入工程,。
在系統(tǒng)架構(gòu)設(shè)計(jì)的時候,,可能會引入原型參考,。要對原型做完成測試后,確認(rèn)沒有問題后,,才可使用,。
五、收獲與體會:
在鼎慧大數(shù)據(jù)公司的實(shí)習(xí)結(jié)束了,,看著自己親手寫出來的幾個案例,,內(nèi)心非常激動,整個實(shí)習(xí)過程充滿濃厚的學(xué)習(xí)氛圍,。在這里,,我對java的認(rèn)識與理解上升了一個檔次,當(dāng)初對java只是一知半解,,而在這里學(xué)習(xí)了一段時間后,,發(fā)現(xiàn)自己對java還是很感興趣的。課堂上老師認(rèn)真地講解各個方面的知識,,每一個知識點(diǎn)都會講解地非常清楚,,讓我們理解透徹,并且會加以程序聯(lián)系,,讓我們充分地吸收一天所學(xué)的知識,。實(shí)習(xí)從開始的緊張畏懼到后來的喜歡習(xí)慣,在這里留下的記憶是深刻的,、收獲是豐盛的,、汗水是晶瑩的。
通過這次實(shí)習(xí),,此次實(shí)習(xí)過程中的收獲主要有四個方面:一是通過直接參與企業(yè)的運(yùn)作過程,,學(xué)到了實(shí)踐知識,同時進(jìn)一步加深了對理論知識的理解,,使理論與實(shí)踐知識都有所提高,,圓滿地完成了此次實(shí)習(xí)的實(shí)踐任務(wù)。二是提高了實(shí)際工作能力,,為就業(yè)和將來的工作取得了一些寶貴的實(shí)踐經(jīng)驗(yàn),。三是在實(shí)習(xí)過程中成立一個小組,彼此之間互相溝通,,互相幫助,,為了達(dá)成共同的目標(biāo)而努力,讓我看到了大家對于工作的熱情,,還有每個人的工作能力。四是為畢業(yè)論文積累了素材和資料,。
于是,,在未來的日子,,我將做到以下幾點(diǎn):
1、繼續(xù)學(xué)習(xí),,不斷提升理論涵養(yǎng)
在信息時代,,學(xué)習(xí)是不斷地汲取新信息,獲得事業(yè)進(jìn)步的動力,。認(rèn)真學(xué)習(xí)java,,使自己具有更好的專業(yè)知識,為以后就業(yè)做準(zhǔn)備,。作為一名青年學(xué)子更應(yīng)該把學(xué)習(xí)作為保持工作積極性的重要途徑,,不斷努力,不斷進(jìn)步,。
2,、努力實(shí)踐,自覺進(jìn)行角色轉(zhuǎn)化
理論是灰色的,,生活之樹常青,,只有將理論付諸于實(shí)踐才能實(shí)現(xiàn)理論自身的價值,也只有將理論付諸于實(shí)踐才能使理論得以檢驗(yàn),。同樣,,一個人的價值也是通過實(shí)踐活動來實(shí)現(xiàn)的,也只有通過實(shí)踐才能鍛煉人的品質(zhì),,彰現(xiàn)人的意志,。
從學(xué)校走向社會,首要面臨的問題便是角色轉(zhuǎn)換的問題,。從一個學(xué)生轉(zhuǎn)化為一個單位人,,在思想的層面上,必須認(rèn)識到二者的社會角色之間存在著較大的差異,。學(xué)生時代只是單純的學(xué)習(xí)知識,,而社會實(shí)踐則意味著繼續(xù)學(xué)習(xí),并將知識應(yīng)用于實(shí)踐,,學(xué)生時代可以自己選擇交往的對象,,而社會人則更多地被他人所選擇。諸此種種的差異,。不勝枚舉,。但僅僅在思想的層面上認(rèn)識到這一點(diǎn)還是不夠的,而是必須在實(shí)際的工作和生活中潛心體會,,并自覺的進(jìn)行這種角色的轉(zhuǎn)換,。
3、提高學(xué)習(xí)積極性和主動性
實(shí)習(xí),,是開端也是結(jié)束,。展現(xiàn)在自己面前的是一片任自己馳騁的沃土,,也分明感受到了沉甸甸的責(zé)任。在今后的學(xué)習(xí)和生活中,,我將繼續(xù)努力學(xué)習(xí),,深入實(shí)踐,不斷提升自我,,努力創(chuàng)造成績,,繼續(xù)創(chuàng)造更多的人生價值。
4,、要培養(yǎng)自己的團(tuán)結(jié)合作精神
工作學(xué)習(xí)生活中,,團(tuán)結(jié)合作,是必須的,。項(xiàng)目經(jīng)理說過,,一個完整的程序不是由一個人完成的,而是由一個團(tuán)隊(duì)完成的,,每個人完成一部分的模塊,,然后整合起來才是完美的程序。所以在項(xiàng)目中,,每個人都是力量必要的,。因此,培養(yǎng)自己的團(tuán)結(jié)合作能力,,是以后的工作的必要準(zhǔn)備,。
java編程思想心得體會篇二
1.什么是gui?
a)gui是graphics user interface的全稱,意思是圖形用戶界面.2.為什么需要gui?
a)圖形用戶界面能夠讓最終用戶通過鼠標(biāo)拖動、單擊等動作就可以操作整個應(yīng)用,從而提高應(yīng)用的用戶體驗(yàn)效果,
a)awt是sun公司提供的一個基本的gui類庫,被稱為抽象工具集(abstract
window-toolkit),它為java應(yīng)用程序提供了基本的組件.b)awt組件需要調(diào)用運(yùn)行平臺的圖形界面來創(chuàng)建和平臺一致的對等體,所以awt只
能使用所有平臺都支持的公共組件,因此awt只能夠提供一些 的主要組成部分
a)component,代表一個具體圖形表示能力的對象,可以在屏幕上顯示,并與用戶交互.通常我們把它稱為”組件”.b)menucomponent,r,,em,代表一個菜單項(xiàng).c)container,代表一個awt組件容器,可以盛裝其他commponent組件,它繼承自
component抽象類,,,,代表一個對話框
a)filedialog代表一個文件對話框,,可容納其他組件,但不能獨(dú)立存在,必須被添加到其他容器中.ii.scrollpane,帶滾動條的容器.d)layoutmanager,布局管理器,yout,流式布局,layout,邊框布局,只能盛裝5個組件,yout,網(wǎng)格布局,glayout,網(wǎng)格包布局,一種較為復(fù)雜的布局管理器,yout,卡片布局,以時間來管理容器內(nèi)的組件,將組件看作是一張張卡片,每次顯示最外面一張卡片(組件).boxlayou,箱式布局, 的事件
a)應(yīng)用程序響應(yīng)用戶的某個動作或請求,如用戶單擊了一下鼠標(biāo),用戶請求關(guān)閉應(yīng)用
程序窗口等.b)awt編程中,所有事件的處理都必須交給特定的對象來完成,我們將這個特定的對
象稱為事件監(jiān)聽器.c)awt的事件處理機(jī)制是一種委派式的事件處理方式,通過將某個事件監(jiān)聽器注冊
到用戶指定的組件,當(dāng)用戶進(jìn)行某個操作并觸發(fā)指定事件時,應(yīng)用程序會自動產(chǎn)生一個事件(event)對象并作為參數(shù)傳給事件監(jiān)聽器中的事件處理器,然后由事件監(jiān)
聽器通知事件處理器來響應(yīng)用戶,完成用戶的請求.d)不同的事件需要不同的事件監(jiān)聽器,不同的監(jiān)聽器需要實(shí)現(xiàn)不同的監(jiān)聽器接口.e)事件監(jiān)聽器接口:為某個特定事件定義了響應(yīng)用戶請求的方法,當(dāng)用戶將某個事件
監(jiān)聽器注冊到指定組件上以響應(yīng)特定的事件時,則該事件監(jiān)聽器必須實(shí)現(xiàn)對應(yīng)的事件監(jiān)聽器接口才能對用戶的請求進(jìn)行有效處理.例如,用戶點(diǎn)擊了鼠標(biāo)右鍵,希望打開某個應(yīng)用程序的右鍵菜單,則注冊到該應(yīng)用程序上的事件監(jiān)聽器必須實(shí)現(xiàn)鼠標(biāo)事件監(jiān)聽器接口,并實(shí)現(xiàn)該接口內(nèi)部某些方法來完成用戶的請求.f)事件適配器,很多時候,我們只需要實(shí)現(xiàn)某個事件監(jiān)聽器接口中個別方法就能完成應(yīng)用程序的實(shí)際需求,但實(shí)現(xiàn)該事件監(jiān)聽器接口的類必須實(shí)現(xiàn)該接口中所有的抽象方法,這會造成代碼的冗余.而事件適配器可以幫我們解決這個問題,事件適配器實(shí)現(xiàn)了所有的擁有多個抽象方法的事件監(jiān)聽器接口,并空實(shí)現(xiàn)了這些接口中所有的抽象方法,所謂空實(shí)現(xiàn),就是方法中沒有任何實(shí)現(xiàn)代碼,因此,我們可以通過繼承對應(yīng)事件監(jiān)聽器接口的事件適配器抽象類,并實(shí)現(xiàn)我們感興趣的方法來完成應(yīng)用需求即可.g)java事件處理過程中主要涉及的三類對象
i.事件源,.事件,通常指用戶的某個操作,如單擊了一下鼠標(biāo),.事件監(jiān)聽器,負(fù)責(zé)監(jiān)聽事件源上所發(fā)生的事件,并作出響應(yīng).h)awt事件監(jiān)聽器的實(shí)現(xiàn)形式
.內(nèi)部類形式 頂級類形式
iii.類本身作為事件監(jiān)聽器
iv.匿名內(nèi)部類形式
v.注:繪圖
a)awt繪圖的實(shí)現(xiàn)過程.i.重寫畫布類的paint方法,.調(diào)用component類的repaint方法繪制圖形.b)awt實(shí)現(xiàn)繪圖主要涉及的對象
.c)component類的子類canvas類,cs,代表一個畫筆,類代表了位圖,它的一個主要的實(shí)現(xiàn)類bufferedimage是可以訪問圖形數(shù)據(jù)
緩沖區(qū),并可以返回一個graphics對象來繪制該buuferedimage.d)的優(yōu)缺點(diǎn)
a)awt在許多非桌面環(huán)境,如嵌入式設(shè)備中有著自己的優(yōu)勢,它的主要優(yōu)點(diǎn)如下:.iv.更少的內(nèi)存:對運(yùn)行在有限環(huán)境中的gui程序的開發(fā),,是合適的,。2.更少的啟動事件:由于awt組件是本地由操作系統(tǒng)實(shí)現(xiàn)的。絕大多數(shù)的二進(jìn)制代碼已經(jīng)在如系統(tǒng)啟動的時候被預(yù)裝載了,,這降低了它的啟動事件,。3.更好的響應(yīng):由于本地組件由操作系統(tǒng)渲染。4.成熟穩(wěn)定的:能夠正常工作并很少使你的程序崩潰,。
b)同樣它也有不少的缺點(diǎn)
.更少組件類型:表和樹這些重要的組件缺失了,。它們是桌面應(yīng)用程序中普遍使用的。2.缺乏豐富的組件特征:按鈕不支持圖片,。3.無擴(kuò)展性:awt的組件是本地組件,。jvm中的awt類實(shí)例實(shí)際只是包含本地
組件的引用。唯一的擴(kuò)展點(diǎn)是awt的canvas組件,,可以從零開始創(chuàng)建自定義組
件,。然而無法繼承和重用一個已有的awt組件
總結(jié):awt是sun不推薦使用的工具集,實(shí)際開發(fā)中很少使用awt而是使用sun公司
和netscape公司共同開發(fā)的一個新的用戶界面庫-swing來開發(fā)gui應(yīng)用程序,awt是圖形用戶界面編程的基礎(chǔ),它的布局管理、事件機(jī)制、剪貼板操作等內(nèi)容仍然適用于swing gui編程.
java編程思想心得體會篇三
in the following code, which is the earliest statement, where the object originally held in e, may be garbage collected:
class test {
static void main(string args []){
ee e = new employee(“bob”, 48);
atepay();
n(etails());
6.e = null;
7.e = new employee(“denise”, 36);
atepay();
n(etails());
10.}
11.}
only one:
in the following code, which is the earliest statement, where the object originally held in e, may be garbage collected:
class test {
static void main(string args []){
ee e = new employee(“bob”, 48);
atepay();
n(etails());
6.e = null;
7.e = new employee(“denise”, 36);
atepay();
n(etails());
10.}
11.}
only one:
10
11
7
8
2:exhibit :
class test(e static int j = 0;
e static boolean methodb(int k)(5.j += k;
true;
6.)
static void methoda(int i){
n b:
10.b = i < 10 | methodb(4);
11.b = i < 10 || methodb(8);
12.)
static void main(string args[] }(a(0);
n(j);
17.)
18.)
what is the result?
program prints “0”
program prints “4”
program prints “8”
program prints “12”
3:what is written to the standard output given the following statement:n(4|7);
select the right answer:
a.4
b.5
c.6
d.7
4:
select valid identifier of java:
select valid identifier of java:
a.%passwd
b.3d_game
c.$charge
5:設(shè)有變量說明語句int a=1,b=0;
則執(zhí)行以下程序段的輸出結(jié)果為(),。
switch(a)
{
case 1:
switch(b)
{
case 0:printf(“**0**”);break;
case 1:printf(“**1**”);break;
}
case 2:printf(“**2**”);break;
}
printf(“ ”);
a.**0**
b.**0****2**
c.**0****1****2**
d.有語法錯誤
6:in the following pieces of code, which one will compile without any error?
buffer sb1 = “abcd”;
n b = new boolean(“abcd”);
c.c: byte b = 255;
fl = 1.2;
7:
what is the result when you compile and run the following code?
public class throwsdemo
{
static void throwmethod()
{
n(“inside throwmethod.”);
throw new illegalaccessexception(“demo”);
}
public static void main(string args[])
{
try
{
throwmethod();
}
catch(illegalaccessexception e)
{
n(“caught ” + e);
}
}
}
choices:
what is the result when you compile and run the following code?
public class throwsdemo
{
static void throwmethod()
{
n(“inside throwmethod.”);
throw new illegalaccessexception(“demo”);
}
public static void main(string args[])
{
try
{
throwmethod();
}
catch(illegalaccessexception e)
{
n(“caught ” + e);
}
}
}
choices:
ation error
e error
e successfully, nothing is ed by caught:laccessexcption: demo
8:which of the following statements are not legal?
l = 4990;
i = 4l;
d = 34.4;
t = 0.9f.9:
give the following java class:
public class example{
public static void main(string args[]){
static int x[] = new int[15];
n(x[5]);
}
}
which statement is corrected?
give the following java class:
public class example{
public static void main(string args[]){
static int x[] = new int[15];
n(x[5]);
}
}
which statement is corrected?
compile, some error will run, some error will is is null.10:下面關(guān)于變量及其范圍的陳述哪些是錯的,。
a.實(shí)例變量是類的成員變量。
b.實(shí)例變量用關(guān)鍵字static聲明,。
c.在方法中定義的局部變量在該方法被執(zhí)行時創(chuàng)建
d.局部變量在使用前必須被初始化。
11:
public class x{
public object m(){
object o = new float(3.14f);//line 3
object [] oa = new object[1];//line 4
oa[0] = o;//line 5
o=null;//line 6
return oa[0];//line 7
}
}
when is the float object, created in line 3,eligible for garbage collection?
public class x{
public object m(){
object o = new float(3.14f);//line 3
object [] oa = new object[1];//line 4
oa[0] = o;//line 5
o=null;//line 6
return oa[0];//line 7
}
}
when is the float object, created in line 3,eligible for garbage collection?
after line after line 6
after line 7(that is,as the method returns)
in this method
12:
which is the most appropriate code snippet that can be inserted at line 18 in the following code?
(assume that the code is compiled and run with assertions enabled)
.*;
class asserttest
4.{
e hashmap cctld;
asserttest()
8.{
= new hashmap();
(“in”, “india”);
(“uk”, “united kingdom”);
(“au”, “australia”);
13.// more code...14.}
15.// other methods.... string getcountry(string countrycode)
17.{
18.// what should be inserted here?
country =(string)(countrycode);
country;
21.}
22.}
which is the most appropriate code snippet that can be inserted at line 18 in the following code?
(assume that the code is compiled and run with assertions enabled)
.*;
class asserttest
4.{
e hashmap cctld;
asserttest()
8.{
= new hashmap();
(“in”, “india”);
(“uk”, “united kingdom”);
(“au”, “australia”);
13.// more code...14.}
15.// other methods.... string getcountry(string countrycode)
17.{
18.// what should be inserted here?
country =(string)(countrycode);
country;
21.}
22.}
countrycode!= null;
countrycode!= null : “country code can not be null”;
cctld!= null : “no country code data is available”;
cctld : “no country code data is available”;
13:
give the following code:
public class example{
public static void main(string args[]){
int l=0;
do{
n(“doing it for l is:”+l);
}while(—l>0)
n(“finish”);
}
}
which well be output:
give the following code:
public class example{
public static void main(string args[]){
int l=0;
do{
n(“doing it for l is:”+l);
}while(—l>0)
n(“finish”);
}
}
which well be output:
it for l is 3
it for l is 1
it for l is 2
it for l is 0
14:which statements about java code security are not true?
bytecode verifier loads all classes needed for the execution of a ing code is performed by the runtime runtime the bytecodes are loaded, checked and run in an interpreter. class loader adds security by separating the namespaces for the classes of the local file system from those imported from network sources.15:a class design requires that a member variable should be accessible only by same package, which modifer word should be used?
ted
modifer
e
16:character流與byte流的區(qū)別是
a.每次讀入的字節(jié)數(shù)不同
b.前者帶有緩沖,,后者沒有
c.前者是塊讀寫,,后者是字節(jié)讀寫
d.二者沒有區(qū)別,可以互換使用
簡答題
17:找出兩個字符串中最大子字符串,如“abractyeyt”,“dgdsaeactyey”的最大子串為“actyet”
18:假設(shè)你有一個用1001個整數(shù)組成的數(shù)組,,這些整數(shù)是任意排列的,,但是你知道所有的整數(shù)都在1到1000(包括1000)之間。此外,,除一個數(shù)字出現(xiàn)兩次外,,其他所有數(shù)字只出現(xiàn)一次。假設(shè)你只能對這個數(shù)組做一次處理,,用一種算法找出重復(fù)的那個數(shù)字,。如果你在運(yùn)算中使用了輔助的存儲方式,那么你能找到不用這種方式的算法嗎?
19:到底在哪里使用cascade=“...”?
20:使用tomcat部署應(yīng)用程序 emoryerror 嗎?如何解決的,。
21:請寫一個java程序?qū)崿F(xiàn)數(shù)據(jù)庫緩沖池的功能?
22:有200個正整數(shù),,且每個數(shù)均在1000至9999之間。請編制函數(shù),,其函數(shù)的功能是:要求按每個數(shù)的后三位的大小進(jìn)行升序排列,,然后取出滿足此條件的前10個數(shù)依次存入數(shù)組bb中,如果后三位的數(shù)值相等,,則按原先的數(shù)值進(jìn)行降序排列,。
23:anonymous inner class(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?
24:找出字符串a(chǎn)中包含的字符可以進(jìn)行的所有不同組合,。例如:abccd中,,ab,ac,,bc,,cc,abd等都是可能的組合,。
25:下面的代碼在絕大部分時間內(nèi)都運(yùn)行得很正常,,請問在什么情況下會出現(xiàn)問題?問題的根源在哪里?
import .linkedlist;
public class stack {
linkedlist list = new linkedlist();
public synchronized void push(object x){
synchronized(list){
t(x);
notify();
}
}
public synchronized object pop()
throws exception {
synchronized(list){
if(()<= 0){
wait();
}
return last();
}
}
}
java編程思想心得體會篇四
《java編程》
計(jì)算器
班級:****** 姓名:******
學(xué)號: ******* 指導(dǎo)老師:******
實(shí)驗(yàn)名稱:java計(jì)算器
1實(shí)驗(yàn)?zāi)康? java編程語言在編程方面的具體應(yīng)用,以及使用面向?qū)ο蠓椒?對小應(yīng)用程序進(jìn)行需求分
析、概要設(shè)計(jì),、詳細(xì)設(shè)計(jì),,最后使用java編程實(shí)現(xiàn)的全過程。
2實(shí)驗(yàn)意義:
在編程我們使用的java語言,,是目前比較流行的編程語言,。在當(dāng)今這個時代,,java語言在編程方面的優(yōu)勢使得編程有了更好的選擇。java語言最大的特點(diǎn)是具有跨平臺性,,使其不受平臺不同的影響,,得到了廣泛的應(yīng)用。實(shí)訓(xùn)性質(zhì)
本課程是計(jì)算機(jī)信息管理專業(yè)的一門實(shí)踐性課程,,是《java編程》課程的實(shí)踐性教學(xué)環(huán)節(jié),。實(shí)訓(xùn)目標(biāo)
⑴綜合應(yīng)用java程序設(shè)計(jì)的知識解決實(shí)際問題。
⑵學(xué)會在應(yīng)用程序的設(shè)計(jì)過程中,,應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,。⑶學(xué)會應(yīng)用jdbc創(chuàng)建數(shù)據(jù)庫應(yīng)用程序。
⑷學(xué)會開發(fā)基于swing的應(yīng)用程序及多文檔應(yīng)用程序的設(shè)計(jì),。實(shí)訓(xùn)任務(wù)
用java語言開發(fā)工具(例如jdk,、jcreator,、netbeans等)制作一個簡單的可運(yùn)行的完整的應(yīng)用程序或小型系統(tǒng),,并編制出各階段必要的文檔。
將創(chuàng)建一個計(jì)算器,,可以進(jìn)行常用的加減乘除算術(shù)運(yùn)算,。本實(shí)例的知識點(diǎn)有:窗口布局器gridlayout的應(yīng)用,對按鈕消息的監(jiān)聽和響應(yīng),。
6實(shí)訓(xùn)條件
<軟件:>windows xp,netbeans ide 6.52 7開發(fā)背景: java是由sun microsystems公司于1995年5月推出的java程序設(shè)計(jì)語言(以下簡稱java語言)和java平臺的總稱,。java語言是一個支持網(wǎng)絡(luò)計(jì)算的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。java語言吸收了smalltalk語言和c++語言的優(yōu)點(diǎn),,并增加了其它特性,,如支持并發(fā)程序設(shè)計(jì)、網(wǎng)絡(luò)通信,、和多媒體數(shù)據(jù)控制等,。
8系統(tǒng)部分分析:
1)java語言是簡單的。java語言的語法與c語言和c++語言很接近,,使得大多數(shù)程序員很容易學(xué)習(xí)和使用java,。另一方面,java丟棄了c++ 中很少使用的,、很難理解的,、令人迷惑的那些特性,如操作符重載,、多繼承,、自動的強(qiáng)制類型轉(zhuǎn)換。
2)java語言是一個面向?qū)ο蟮摹ava語言提供類,、接口和繼承等原語,,為了簡單起見,,只支持類之間的單繼承,,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements),。java語言全面支持動態(tài)綁定,,而c++ 語言只對虛函數(shù)使用動態(tài)綁定
3)java語言是分布式的。java語言支持internet應(yīng)用的開發(fā),,在基本的java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,,包括url,、urlconnection、socket,、serversocket等,。java的rmi(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。
4)java語言是健壯的,。java的強(qiáng)類型機(jī)制,、異常處理、廢料的自動收集等是java程序健壯性的重要保證,。對指針的丟棄是java的明智選擇,。java的安全檢查機(jī)制使得java更具健壯性。
5)java語言是安全的,。java通常被用在網(wǎng)絡(luò)環(huán)境中,,為此,java提供了一個安全機(jī)制以防惡意代碼的攻擊,。除了java語言具有的許多安全特性以外,,java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機(jī)制(類classloader),如分配不同的名字空間以防替代本地的同名類,、字節(jié)代碼檢查,,并提供安全管理機(jī)制.6)java語言是體系結(jié)構(gòu)中立的。java程序(后綴為java的文件)在java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個java平臺的任何系統(tǒng)中運(yùn)行,。
7)java語言是可移植的,。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,,java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度,。java系統(tǒng)本身也具有很強(qiáng)的可移植性,java編譯器是用java實(shí)現(xiàn)的.8)java語言是解釋型的。如前所述,,java程序在java平臺上被編譯為字節(jié)碼格式,,然后可以在實(shí)現(xiàn)這個java平臺的任何系統(tǒng)中運(yùn)行。
9)java是高性能的,。與那些解釋型的高級腳本語言相比,,java的確是高性能的。事實(shí)上,,java的運(yùn)行速度隨著jit(just-in-time)編譯器技術(shù)的發(fā)展越來越接近于c++,。
10)java語言是多線程的。在java語言中,,線程是一種特殊的對象,,它必須由thread類或其子(孫)類來創(chuàng)建。
11)java語言是動態(tài)的,。java語言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境,。
目錄
課程設(shè)計(jì)題目 ……………………………… p1
課程設(shè)計(jì)簡介 ……………………………… p2
課程設(shè)計(jì)源代碼…………………………… p5
課程設(shè)計(jì)運(yùn)行結(jié)果 ……………………… p15 課程設(shè)計(jì)心得體會 ………………………
p16
package computerpad;import .*;import .event.*;import .*;import .*;import list;import format;public class computerpad extends frame implements actionlistener {
numberbutton numberbutton[];
operationbutton oprationbutton[];
button 小數(shù)點(diǎn)按鈕,正負(fù)號按鈕,退格按鈕,求倒數(shù)按鈕,等號按鈕,清零按鈕;
panel panel;
jtextfield resultshow;
string 運(yùn)算符號[]={“+”,“-”,“*”,“/”};
linkedlist 鏈表;
boolean 是否按下等號=false;
public computerpad()
{
super(“計(jì)算器”);
鏈表=new linkedlist();
numberbutton=new numberbutton[10];
for(int i=0;i<=9;i++)
{
numberbutton[i]=new numberbutton(i);
numberbutton[i].addactionlistener(this);
}
oprationbutton=new operationbutton[4];
for(int i=0;i<4;i++)
{
oprationbutton[i]=new operationbutton(運(yùn)算符號[i]);
oprationbutton[i].addactionlistener(this);
}
小數(shù)點(diǎn)按鈕=new button(“.”);
正負(fù)號按鈕
=new button(“+/-”);
等號按鈕=new button(“=”);
求倒數(shù)按鈕=new button(“1/x”);
退格按鈕=new button(“退格”);
清零按鈕=new button(“c”);
eground();
eground();
eground();
eground();
eground();
eground();
ionlistener(this);
ionlistener(this);
ionlistener(this);
ionlistener(this);
ionlistener(this);
ionlistener(this);
resultshow=new jtextfield(10);
izontalalignment();
eground();
t(new font(“timesroman”,,14));
der(new softbevelborder(d));
kground();
table(false);
panel=new panel();
out(new gridlayout(4,5));
(numberbutton[1]);
(numberbutton[2]);
(numberbutton[3]);
(oprationbutton[0]);
(清零按鈕);
(numberbutton[4]);
(numberbutton[5]);
(numberbutton[6]);
(oprationbutton[1]);
(退格按鈕);
(numberbutton[7]);
(numberbutton[8]);
(numberbutton[9]);
(oprationbutton[2]);
(求倒數(shù)按鈕);
(numberbutton[0]);
(正負(fù)號按鈕);
(小數(shù)點(diǎn)按鈕);
(oprationbutton[3]);
(等號按鈕);
add(panel,);
add(resultshow,);
addwindowlistener(new windowadapter()
{ public void windowclosing(windowevent e)
{
(0);
}
});
setvisible(true);
setbounds(100,50,240,180);
setresizable(false);
validate();
} public void actionperformed(actionevent e)
{
if(rce()instanceof numberbutton)
{
numberbutton b=(numberbutton)rce();
if(()==0)
{
int number=ber();
(“"+number);
t(”“+number);
是否按下等號=false;
}
else if(()==1&&是否按下等號==false)
{
int number=ber();
string num=(string)first();
string s=(”“+number);
(0,s);
t(s);
}
else if(()==1&&是否按下等號==true)
{
int number=ber();
first();
(”“+number);
是否按下等號=false;
t(”“+number);
}
else if(()==2)
{
int number=ber();
(”“+number);
t(”“+number);
}
else if(()==3)
{
int number=ber();
string num=(string)t();
string s=(”“+number);
(2,s);
t(s);
}
}
else if(rce()instanceof operationbutton)
{
operationbutton b=(operationbutton)rce();
if(()==1)
{
string fuhao=運(yùn)算符號();
(fuhao);
}
else if(()==2)
{
string fuhao=運(yùn)算符號();
(1,fuhao);
}
else if(()==3)
{
string fuhao=運(yùn)算符號();
string number1=(string)first();
string number2=(string)t();
string 運(yùn)算符號=(string)(1);
try
{
double n1=ouble(number1);
double n2=ouble(number2);
double n=0;
if((”+“))
{
n=n1+n2;
}
else if((”-“))
{
n=n1-n2;
}
else if((”*“))
{
n=n1*n2;
}
else if((”/“))
{
n=n1/n2;
}
();
(”“+n);
(fuhao);
t(”“+n);
}
catch(exception ee)
{
}
}
}
else if(rce()==等號按鈕)
{
是否按下等號=true;
if(()==1||()==2)
{
string num=(string)first();
t(”“+num);
}
else if(()==3)
{
string number1=(string)first();
string number2=(string)t();
string 運(yùn)算符號=(string)(1);
try
{
double n1=ouble(number1);
double n2=ouble(number2);
double n=0;
if((”+“))
{
n=n1+n2;
}
else if((”-“))
{
n=n1-n2;
}
else if((”*“))
{
n=n1*n2;
}
else if((”/“))
{
n=n1/n2;
}
t(”“+n);
(0,”“+n);
last();
last();
}
catch(exception ee)
{
}
}
}
else if(rce()==小數(shù)點(diǎn)按鈕)
{
if(()==0)
{
是否按下等號=false;
}
else if(()==1)
{
string dot=el();
string num=(string)first();
string s=null;
if(f(dot)==-1)
{
s=(dot);
(0,s);
}
else
{
s=num;
}
(0,s);
t(s);
}
else if(()==3)
{
string dot=el();
string num=(string)t();
string s=null;
if(f(dot)==-1)
{
s=(dot);
(2,s);
}
else
{
s=num;
}
t(s);
}
}
else if(rce()==退格按鈕)
{
if(()==1)
{
string num=(string)first();
if(()>=1)
{
num=ing(0,()-1);
(0,num);
t(num);
}
else
{
last();
t(”0“);
}
}
else if(()==3)
{
string num=(string)t();
if(()>=1)
{ num=ing(0,()-1);
(2,num);
t(num);
}
else
{
last();
t(”0“);
}
}
}
else if(rce()==正負(fù)號按鈕)
{
if(()==1)
{
string number1=(string)first();
try
{
double d=ouble(number1);
d=-1*d;
string str=f(d);
(0,str);
t(str);
}
catch(exception ee)
{
}
}
else if(()==3)
{
string number2=(string)t();
try
{
double d=ouble(number2);
d=-1*d;
string str=f(d);
(2,str);
t(str);
}
catch(exception ee){
}
}
}
else if(rce()==求倒數(shù)按鈕)
{
if(()==1||()==2)
{
string number1=(string)first();
try
{
double d=ouble(number1);
d=1.0/d;
string str=f(d);
(0,str);
t(str);
}
catch(exception ee){
}
}
else if(()==3)
{
string number2=(string)t();
try
{
double d=ouble(number2);
d=1.0/d;
string str=f(d);
(0,str);
t(str);
}
catch(exception ee){
}
}
}
else if(rce()==清零按鈕)
{
是否按下等號=false;
t(”0“);
();
}
} public static void main(string args[])
{
new computerpad();
}
}
package computerpad;import .*;import .event.*;import .*;public class numberbutton extends button {
int number;
public numberbutton(int number)
{
super(”"+number);
=number;
setforeground();
}
public int getnumber()
{
return number;
} }
import .*;import .event.*;import .*;public class operationbutton extends button {
string 運(yùn)算符號;
public operationbutton(string s)
{
super(s);
運(yùn)算符號=s;
setforeground();
}
public string get運(yùn)算符號()
{
return 運(yùn)算符號;
} } 14 java實(shí)訓(xùn)心得:
未接觸java之前,,聽人說java這門語言如何的強(qiáng)大和難以入門,,但學(xué)習(xí)之后,給我的感覺卻是語言沒有所謂的難于不難,,關(guān)鍵是自己有沒有真正投入去學(xué),,有沒有花時間去學(xué)。java是一門很好的語言,,經(jīng)過周圍人對java的宣傳,,我一開始不敢去學(xué)習(xí)這門語言,因?yàn)橐婚T高級語言總是讓人想到一開始的學(xué)習(xí)會很難,,但是后來在自己的努力和老師同學(xué)的幫助下,,我加入了java學(xué)習(xí)者的行列。
老師把我們帶進(jìn)了門,,那么,,以后漫長的深入學(xué)習(xí)還是要靠自己。經(jīng)常性的編寫一些程序,,或則去看懂,、研究透別人編寫的程序?qū)τ谖覀兇蚝没A(chǔ)是非常有利的。讓我們懷著對java的一腔熱情,,用自己的刻苦努力去把java學(xué)好,。將來,用自己的成績?nèi)セ貓笥卸饔谖覀兊纳鐣?、家人和朋友?/p>
java編程思想心得體會篇五
java編程心得
計(jì)算機(jī)3班
竇金霞
20104773
最近幾周一直在弄程序,,說實(shí)話真的很累,,但累中也有成功的快樂。我覺得學(xué)到了很多東西,,這是只看課本知識所不能學(xué)到的,。
說實(shí)話,以前我一直沒學(xué)過java雖然我也知道java的重要性,,可是即使上課聽了,,不實(shí)踐還是掌握不了。因?yàn)榉N種原因,,今年我沒有買筆記本,。沒有機(jī)器,僅僅靠每周一次的上機(jī)練習(xí)是絕對不夠的,。所以我就插空調(diào)程序,,在舍友們不用的時候自己再接她們的電腦調(diào)。
調(diào)上一個web版的通訊錄程序時我已經(jīng)感覺到學(xué)的很吃力,,好多東西都不懂,。這次做的這個學(xué)生成績管理系統(tǒng)更復(fù)雜了,所以一開始調(diào)的時候感覺特別吃力.所以我告訴自己不能放棄,,慢慢來,就這樣我從最基本的sql語句session對象開始學(xué)起,,我覺得我還有太多不懂得所以要比別人付出更多的努力,。就這樣我一點(diǎn)一點(diǎn)的學(xué)著??
說心里話,在做上一個web版的通訊錄時,,我就感覺到成功的喜悅,。好多地方我都是一點(diǎn)一點(diǎn)的問的,在問的過程中,,我也學(xué)會了很多,,像:servlet和jsp之間跳不過去時有兩種解決辦法,,;二是將servlet中的throws exception改成try catch以捕捉異常,;我還學(xué)到了集中查找錯誤的方法,可以加上兩個雙斜杠“//”將具體的方法屏蔽掉,,一檢查是方法錯誤還是servlet錯誤,,n()將獲得的數(shù)據(jù)輸出,用來檢查數(shù)據(jù)傳輸過程有沒有錯誤等等,。
雖然在別人看來,,這些方法可能都很常規(guī),但是確實(shí)我自己學(xué)會的,,我覺得很有成就感,。我已經(jīng)做好計(jì)劃了,,暑假的時候去買本本用自己的本本練習(xí)一下java,雖然下學(xué)期不學(xué)java了,,但是我對java的熱情不會因?yàn)檫@個而削減的,!
做完這個學(xué)生成績管理系統(tǒng)后,我覺得我對java的看法已經(jīng)改變了,。一前總以為java很繁瑣很難,,聽同學(xué)說java不好學(xué),開始又有一些聽不懂,,所以一直很畏懼java,。但真正做了這個系統(tǒng)以后我才感覺到其實(shí)任何事都沒有難與不難之分,只要你肯努力的去做,,世上無難事只怕有心人,!
我現(xiàn)在對java學(xué)習(xí)充滿了熱情,我知道我還有很多的不足
還有很多需要努力的地方,,所以我的java之旅將繼續(xù)進(jìn)行??