欧美成人永久免费_欧美日本五月天_A级毛片免看在线_国产69无码,亚洲无线观看,精品人妻少妇无码视频,777无码专区,色大片免费网站大全,麻豆国产成人AV网,91视频网络,亚洲色无码自慰

當(dāng)前位置:網(wǎng)站首頁(yè) >> 作文 >> java不適做主要編程教學(xué)語(yǔ)言有哪些 java不好用優(yōu)秀(5篇)

java不適做主要編程教學(xué)語(yǔ)言有哪些 java不好用優(yōu)秀(5篇)

格式:DOC 上傳日期:2023-05-24 09:42:15
java不適做主要編程教學(xué)語(yǔ)言有哪些 java不好用優(yōu)秀(5篇)
時(shí)間:2023-05-24 09:42:15     小編:xiejingc

在日常的學(xué)習(xí)、工作,、生活中,,肯定對(duì)各類范文都很熟悉吧。相信許多人會(huì)覺(jué)得范文很難寫,?以下是小編為大家收集的優(yōu)秀范文,歡迎大家分享閱讀,。

java不適做主要編程教學(xué)語(yǔ)言有哪些 java不好用篇一

包括編程語(yǔ)言和相關(guān)的技術(shù),。

主要用于開發(fā),,桌面應(yīng)用程序和internet應(yīng)用程序,。4.開發(fā)一個(gè)java應(yīng)用程序的基本步驟:編寫源程序,編譯程序和運(yùn)行程序,。為擴(kuò)展名,,為擴(kuò)展名,。文件,,文件,。

5.編寫java程序要符合java編碼規(guī)范,為程序編寫注釋可大大增加程序的閱讀性,。

ise是一個(gè)功能強(qiáng)大的集成開發(fā)環(huán)境(ide),。它的各種窗口便于java程序的開發(fā),調(diào)試和管理,。

第二章變量,、數(shù)據(jù)類型和運(yùn)算符

1.變量是一個(gè)數(shù)據(jù)存儲(chǔ)空間的表示,它是存儲(chǔ)數(shù)據(jù)的基本單元。變量的命名規(guī)則:

(1)必須以字母,,“_”,,“$”開頭,。(2)可以包括數(shù)字,,但不能以數(shù)字開頭(3)不能包括除“_”,“$”以外的特殊符號(hào)(4)不能使用java語(yǔ)言關(guān)鍵字或者保留字(goto)

中數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,,基本數(shù)據(jù)類型有整型(int),,雙精度浮點(diǎn)型(double),字符型(char)和字符串(string),。3.變量要先聲明并賦值,,才能使用。提供各種類型的運(yùn)算符,,具體如下,。

(1)賦值運(yùn)算(=)(2)算術(shù)運(yùn)算符(+,-,*,/,%)(3)關(guān)系運(yùn)算符(>,>=,<,<=,==,!=)(4)條件運(yùn)算符(條件?表達(dá)式1:表達(dá)式2)(5)邏輯運(yùn)算符(&& , || ,!, & , |)&&(短路與)與&的區(qū)別:&&進(jìn)行判斷時(shí),,當(dāng)?shù)谝粋€(gè)條件為假,,則不需要判斷第二個(gè)條件,結(jié)果為假,。&進(jìn)行判斷時(shí),,即使第一個(gè)條件為假時(shí),也需要判斷完第二個(gè)條件才能給出結(jié)果為假,。||(短路或)與|的區(qū)別:與上同理(5)位運(yùn)算符(&, | , << , >> , >>>)5.數(shù)據(jù)類型轉(zhuǎn)換是為了方便不同類型的數(shù)據(jù)之間進(jìn)行運(yùn)算

6.數(shù)據(jù)類型轉(zhuǎn)換包括了自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換,,自動(dòng)類型轉(zhuǎn)換需要滿足類型兼容且目標(biāo)類型大于源類型的條件

中使用boolean類型表示真假,boolean類型的兩個(gè)值為true和false,。

中的關(guān)系運(yùn)算符可以用于來(lái)比較大小,,高低,多少等,,比較厚的結(jié)果是boolean類型。

提供scanner類,,可以實(shí)現(xiàn)從控制臺(tái)獲取鍵盤上輸入的信息

第三章選擇結(jié)構(gòu)(一)java中的if選擇結(jié)構(gòu),,包括以下形式

(1)基本的if選擇結(jié)構(gòu):可以處理單一或組合條件的情況(2)if-else選擇結(jié)構(gòu):可以處理簡(jiǎn)單的條件分支情況(3)多重if選擇結(jié)構(gòu):可以處理連續(xù)區(qū)間的條件分支情況(4)嵌套if選擇結(jié)構(gòu):可以處理復(fù)雜的條件分支情況

第四章選擇結(jié)構(gòu)(二)選擇結(jié)構(gòu)適用于進(jìn)行等值判斷

關(guān)鍵字后面小括號(hào)里表達(dá)式的值可以是int , short , byte , char , 枚舉 , string(jdk1.7開始支持)

第五章循環(huán)結(jié)構(gòu)(一)1.循環(huán)結(jié)構(gòu)由循環(huán)結(jié)構(gòu)和循環(huán)操作構(gòu)成,只要滿足循環(huán)條件,,循環(huán)操作就會(huì)反復(fù)執(zhí)行

2.使用循環(huán)結(jié)構(gòu)解決問(wèn)題問(wèn)題的步驟:分析循環(huán)條件和循環(huán)操作,,套用循環(huán)結(jié)構(gòu)的語(yǔ)法寫出代碼,,檢查循環(huán)能否退出

循環(huán)結(jié)構(gòu)是先判斷后執(zhí)行,do-while是先執(zhí)行,,后判斷,。do-while至少執(zhí)行一次。

調(diào)試:設(shè)置斷點(diǎn),單步運(yùn)行,觀察變量

第六章循環(huán)結(jié)構(gòu)(二)循環(huán)結(jié)構(gòu)的語(yǔ)法結(jié)構(gòu)如下

for(表達(dá)式1:表達(dá)式2:表達(dá)式3){

} //循環(huán)體

表達(dá)式1:循環(huán)結(jié)構(gòu)的初始部分,,為循環(huán)變量賦初值 表達(dá)式2:循環(huán)結(jié)構(gòu)的循環(huán)條件

表達(dá)式3:循環(huán)條件的迭代部分,,通常用來(lái)修改循環(huán)變量的值 2.用break和continue語(yǔ)句控制流程

(1)break語(yǔ)句用于終止某個(gè)循環(huán),程序跳轉(zhuǎn)到循環(huán)體外的下一條語(yǔ)句,。break也可以在switch語(yǔ)句中使用

(2)continue語(yǔ)句用于跳出本次循環(huán),,進(jìn)入下一次循環(huán)

(3)return可以結(jié)束當(dāng)前方法的執(zhí)行并退出,返回調(diào)用該方法的語(yǔ)句處

第七章數(shù)組

1.數(shù)組是可以在內(nèi)存中連續(xù)存儲(chǔ)多個(gè)元素的結(jié)構(gòu),,數(shù)組中的所有元素必須屬于相同的數(shù)據(jù)類型

2.數(shù)組中的元素通過(guò)數(shù)組的下標(biāo)進(jìn)行訪問(wèn),,數(shù)組的下標(biāo)從0開始 3數(shù)組可用一個(gè)循環(huán)為元素賦值,或用一個(gè)循環(huán)輸出數(shù)組中的元素信息

可獲得數(shù)組長(zhǎng)度

5.利用arrays.提供的sort()方法可以方便的對(duì)數(shù)組中的元素進(jìn)行排序 6.二維數(shù)組實(shí)際上就是一個(gè)一維數(shù)組,,他的每個(gè)元素又是一個(gè)一維數(shù)組,。

第八章循環(huán)結(jié)構(gòu)進(jìn)階

1.數(shù)組的輸入排序,選擇排序,,冒泡排序

2.在二重循環(huán)中可以使用break,、continue語(yǔ)句控制程序的執(zhí)行 選擇排序:

思路:每次循環(huán)得到最小值的下標(biāo),然后交換數(shù)據(jù),。如果交換的位置等于原來(lái)的位置,,則不交換。插入排序:

思路:將數(shù)據(jù)插入到已排序的數(shù)組中,。

java不適做主要編程教學(xué)語(yǔ)言有哪些 java不好用篇二

38當(dāng)烏云布滿天空時(shí),,悲觀的人看到的是“黑云壓城城欲摧”,樂(lè)觀的人看到的是“甲光向日金鱗開”,。無(wú)論處在什么厄運(yùn)中,,只要保持樂(lè)觀的心態(tài),總能找到這樣奇特的草莓,。最近有一篇文章,,說(shuō)兩位退休的美國(guó)大學(xué)教授上書反對(duì)將java作為編程教學(xué)語(yǔ)言,對(duì)此我表示高度認(rèn)同,。對(duì)于java,,我并不反感,而且相信它在工業(yè)應(yīng)用中的地位不可取代,,但是,我一直反對(duì)將java作為主要的編程教學(xué)語(yǔ)言,因?yàn)榻虒W(xué)語(yǔ)言承擔(dān)著與生產(chǎn)語(yǔ)言不同的任務(wù),它必須能夠幫助學(xué)生奠定堅(jiān)實(shí)的技術(shù)基礎(chǔ),塑造核心技術(shù)能力。在這方面,java不能夠勝任,。

1990年代中期以前,,美國(guó)的計(jì)算機(jī)編程入門教育以pascal為主,。我的一位美國(guó)程序員朋友至今還懷念他與pascal為伴的高中年代。到了1990年代中后期,由于ansi c語(yǔ)言“糾正”了早期c語(yǔ)言的一些不適合編程教學(xué)的問(wèn)題,,因此成為很多美國(guó)高中和大學(xué)編程入門課的教學(xué)語(yǔ)言,。1998年,,美國(guó)指導(dǎo)編程教學(xué)的一個(gè)協(xié)會(huì)推薦將c++作為入門教學(xué)語(yǔ)言,,在當(dāng)時(shí)引起很大的反響,,認(rèn)為是編程教育方面的一個(gè)重要進(jìn)步,。但遺憾的是,c++非常復(fù)雜,,而當(dāng)時(shí)c++語(yǔ)言的教育體系又非常不成熟,因此很多地方的教學(xué)方法不得當(dāng),,把學(xué)生迅速拖入無(wú)邊無(wú)際的語(yǔ)言細(xì)節(jié)當(dāng)中,,引起了學(xué)生痛苦的抱怨,。大約經(jīng)過(guò)兩三年不成功的實(shí)踐之后,,在本世紀(jì)初,,美國(guó)計(jì)算機(jī)教育界普遍接受java作為編程入門語(yǔ)言,。此后在很短的時(shí)間里,java迅速成為美國(guó)高中和大學(xué)里的首選編程教學(xué)語(yǔ)言,,老師教得輕松,,學(xué)生學(xué)得甜蜜,所以這個(gè)局面一直持續(xù)到現(xiàn)在,。

而在中國(guó),basic語(yǔ)言及其變體一直到1990年代中期都還是“算法語(yǔ)言”課程的主要教學(xué)內(nèi)容,,充分折射出當(dāng)時(shí)中國(guó)計(jì)算機(jī)教學(xué)與工業(yè)應(yīng)用之間的脫節(jié),。只是到了1990年代后期,,c語(yǔ)言才確立了在中國(guó)工科計(jì)算機(jī)編程入門教育中的主流地位。到現(xiàn)在為止,,大部分工科學(xué)生都“必修”“c程序設(shè)計(jì)語(yǔ)言”這門課程,。不過(guò)事實(shí)上,根據(jù)我的了解,這門課程的總體教學(xué)質(zhì)量相當(dāng)糟糕,,大部分學(xué)生可以說(shuō)是滿懷希望而來(lái),,兩手空空而去。在這種情況下,,中國(guó)高校計(jì)算機(jī)編程入門教育已經(jīng)開始悄悄向java過(guò)渡了,。據(jù)我所知,有一些名校已經(jīng)開始將java設(shè)為編程入門課程,,并且認(rèn)為這是與國(guó)際接軌進(jìn)步標(biāo)志,。

在我的朋友圈子里,大多數(shù)真正的一線開發(fā)者和技術(shù)領(lǐng)導(dǎo)者,,對(duì)于將java作為入門教學(xué)語(yǔ)言的“發(fā)展方向”都持質(zhì)疑態(tài)度,。他們中很多人目前主要的工作都集中在java上,因此這種態(tài)度并非來(lái)自所謂語(yǔ)言宗教情緒,,而是來(lái)自他們招聘和實(shí)際工作中的感受,。他們發(fā)現(xiàn),只學(xué)習(xí)java,、c#,、vb等“現(xiàn)代”編程語(yǔ)言的學(xué)生,精于拿來(lái)主義,,長(zhǎng)于整合和快速開發(fā),思維活躍,,生產(chǎn)效率高,,讓他們來(lái)做直截了當(dāng)?shù)摹⒂姓驴裳?、非研究性和非?chuàng)新性的工作比較合適,,但是基礎(chǔ)不扎實(shí),對(duì)計(jì)算機(jī)系統(tǒng)的理解薄弱,,處理細(xì)節(jié)和矛盾的能力不足,,一旦他們熟悉的套路用不上,則缺少自主分析問(wèn)題,、解決問(wèn)題的知識(shí),、能力和經(jīng)驗(yàn)。

今天看到兩位教授的“上書”,,才知道原來(lái)他們也有同感,。只不過(guò)這兩位教授說(shuō)的更直白,直接反對(duì)將java作為入門編程語(yǔ)言,,而是冒天下之大不韙,,公然號(hào)召開歷史倒車,要求退回到c、c++,、lisp和ada去,。

我是支持兩位教授的。我認(rèn)為,,java,、c#、vb和其它虛擬機(jī)之上的語(yǔ)言都不適合作為專業(yè)程序員的入門教學(xué)語(yǔ)言,。在中國(guó)還非常缺乏具有創(chuàng)新和獨(dú)立解決問(wèn)題的高水平程序員的局面下,,我們應(yīng)該認(rèn)真做好的事情是努力提高c/c++的教學(xué)質(zhì)量,而不是圖快活轉(zhuǎn)向java,。

教學(xué)語(yǔ)言的選擇是至關(guān)重要的事情,。作為大多數(shù)學(xué)生第一種需要認(rèn)真學(xué)習(xí)理解的編程語(yǔ)

言,教學(xué)語(yǔ)言將會(huì)成為他們中間很多人的“編程母語(yǔ)”,,深深地烙印在學(xué)生的思維方式中,。這個(gè)編程母語(yǔ)要幫助學(xué)生破除計(jì)算機(jī)和軟件的神秘感,建立對(duì)于程序的基本認(rèn)識(shí)和對(duì)計(jì)算機(jī)模型的最初理解,。在后續(xù)專業(yè)基礎(chǔ)課和專業(yè)課程的學(xué)習(xí)中,,這門編程語(yǔ)言應(yīng)該作為主要工具貫穿始終,幫助學(xué)生認(rèn)識(shí)計(jì)算機(jī)系統(tǒng),,掌握算法與數(shù)據(jù)結(jié)構(gòu)技能,,熟悉操作系統(tǒng)概念,理解編譯原理知識(shí),,理解軟件抽象及軟件設(shè)計(jì)的基本思想,,完成一定量的課程及課外項(xiàng)目實(shí)踐,建立正確的軟件開發(fā)實(shí)踐習(xí)慣,。不但如此,,這種教學(xué)語(yǔ)言必須是工業(yè)界的主流語(yǔ)言,否則學(xué)生學(xué)非所用,,學(xué)習(xí)動(dòng)力無(wú)法保證,。

按照這個(gè)標(biāo)準(zhǔn)來(lái)衡量,java適合于作為主要的編程教學(xué)語(yǔ)言嗎,?我不這么認(rèn)為,。首先,我承認(rèn)java在教學(xué)上有一些優(yōu)勢(shì),,比如其開發(fā)環(huán)境和工具支持非常成熟,,有助于培養(yǎng)學(xué)生正確的編程習(xí)慣;java是當(dāng)今第一工業(yè)主流語(yǔ)言,,標(biāo)準(zhǔn)類庫(kù)非常全面,,可以迅速地開發(fā)具有實(shí)際用途的程序,,有助于激發(fā)和保持學(xué)生的興趣;而在數(shù)據(jù)結(jié)構(gòu),、算法,、編譯原理的教學(xué)方面,java也毫不落于下風(fēng),,在軟件抽象設(shè)計(jì)(面向?qū)ο螅┓矫?,java還有著明顯的優(yōu)勢(shì);特別是在并行編程的教學(xué)方面,,java 1.5 concurrency包提供的優(yōu)勢(shì)是壓倒性的,。盡管有如上這些優(yōu)勢(shì),但java作為教學(xué)語(yǔ)言存在著一個(gè)致命的缺陷,,即它是一個(gè)虛擬機(jī)語(yǔ)言,,這一點(diǎn)就足以把它從教學(xué)語(yǔ)言的名單上去掉。

作為一個(gè)虛擬機(jī)語(yǔ)言,,java對(duì)開發(fā)者隔絕了下層的真實(shí)系統(tǒng),,從而構(gòu)造了一個(gè)近乎完美的環(huán)境,在這個(gè)環(huán)境里,,世界上只有一種機(jī)器,,一個(gè)操作系統(tǒng),內(nèi)存是無(wú)限的,,所有的機(jī)器都具有相同的字節(jié)順序和一致的類型約定,,為了設(shè)計(jì)的優(yōu)美而犧牲速度永遠(yuǎn)是正義行為,,從反射到運(yùn)行時(shí)自動(dòng)加載,,從完備的容器類到統(tǒng)一字符編碼,一大堆漂亮的功能都可以不費(fèi)吹灰之力唾手而得,。要是這個(gè)世界上每臺(tái)計(jì)算機(jī)都是一個(gè)java機(jī)器,,每項(xiàng)編程任務(wù)都可以在這樣一個(gè)近乎完美的環(huán)境中開發(fā),,那毫無(wú)以為,,java是最合適的編程教學(xué)語(yǔ)言。但是事實(shí)上呢,?這樣一個(gè)完美的環(huán)境是java力量的源泉,,但這卻不是真實(shí)的世界。在真實(shí)世界里,,我們可能面對(duì)非常原始的環(huán)境,,苛刻的運(yùn)行時(shí)限制,復(fù)雜多變的系統(tǒng)環(huán)境,,令人窒息的細(xì)節(jié)魔鬼,,要對(duì)付這些東西,,需要開發(fā)者具有在應(yīng)對(duì)復(fù)雜性,自己構(gòu)造環(huán)境,,在諸多限制條件下尋找解決方案的能力,。而這種能力,被無(wú)數(shù)人無(wú)數(shù)次地證明是軟件開發(fā),、特別是軟件創(chuàng)新的核心能力,。把java作為教學(xué)語(yǔ)言,恰恰會(huì)導(dǎo)致這種核心能力的缺失,。除此之外,,如果耐心觀察的話,不難發(fā)現(xiàn),,幾乎在任何軟件領(lǐng)域里的創(chuàng)新性成果都首先是由c/c++語(yǔ)言實(shí)現(xiàn)的,,原因很簡(jiǎn)單,java是站在c/c++基礎(chǔ)之上的,,只有c/c++先把大路趟開,,java才能夠順勢(shì)而上。

相反,,盡管c/c++語(yǔ)言作為教學(xué)語(yǔ)言有很多的不足,,比如不同環(huán)境下開發(fā)模式差異大,細(xì)節(jié)繁多,,開發(fā)效率低,,容易犯錯(cuò),測(cè)試和調(diào)試?yán)щy,,學(xué)習(xí)者難以保持動(dòng)力,,等等,但是這些問(wèn)題都可以解決,。而c/c++的關(guān)鍵優(yōu)點(diǎn),,是能夠讓學(xué)習(xí)者在真實(shí)的計(jì)算機(jī)抽象上、在大量的細(xì)節(jié)和矛盾中學(xué)會(huì)思考,,學(xué)會(huì)解決問(wèn)題,,學(xué)會(huì)了解真實(shí)的系統(tǒng),,知輕重,,明生死,從而建立核心能力,。掌握了c/c++語(yǔ)言,,再去學(xué)習(xí)和理解java、c#,、python,、ruby和其它語(yǔ)言,,就比較容易達(dá)到更高的境界。反之,,如果習(xí)慣了舒舒服服躺在完美世界里當(dāng)闊少,,那就很難有勇氣面對(duì)真實(shí)的世界。當(dāng)然,,很多開發(fā)者認(rèn)為,,現(xiàn)在更重要的能力是理解業(yè)務(wù)、整合現(xiàn)有資源的能力,,而不是處理底層細(xì)節(jié)的技術(shù),。這種說(shuō)法放在個(gè)人身上沒(méi)有問(wèn)題,但是不能成為整個(gè)編程教育的指導(dǎo)思想,。我們需要各個(gè)層面上的人才,,精通業(yè)務(wù)和設(shè)計(jì)的架構(gòu)師固然很重要,但能夠在底層作出創(chuàng)新成果的編程高手實(shí)際上更為稀缺和珍貴,,很多時(shí)候也能夠創(chuàng)造更大的價(jià)值,。而且,更重要的是,,一個(gè)精通系統(tǒng)知識(shí)的開發(fā)者在往上走的時(shí)候不會(huì)遇到大的障礙,,而一個(gè)只知道拼裝組合的“高級(jí)設(shè)計(jì)師”,往往連往下看的勇氣都沒(méi)有,。

java的另外一個(gè)問(wèn)題,,是其所倡導(dǎo)的繁瑣設(shè)計(jì)風(fēng)格,一個(gè)對(duì)象套一個(gè)對(duì)象,,一個(gè)對(duì)象疊一個(gè)對(duì)象,,概念之間彼此橫七豎八地互相依賴,人為制造出一大堆貌似精美,、實(shí)則累贅的所謂設(shè)計(jì),。這個(gè)問(wèn)題我已經(jīng)批評(píng)過(guò)多次,并且相信這股歪風(fēng)一定會(huì)最終被人們拋棄,,java最終會(huì)歸于質(zhì)樸,。但是在這一天到來(lái)之前,java對(duì)于初學(xué)者來(lái)說(shuō),,很可能蒙住他們的雙眼,,使他們看不到軟件設(shè)計(jì)中最可貴的簡(jiǎn)單性和優(yōu)美的統(tǒng)一,,體會(huì)不到數(shù)據(jù)和程序的統(tǒng)一,。在這一點(diǎn)上,c表現(xiàn)的非常好,,而c++如果教學(xué)得體,,可以做的更好,。

當(dāng)然,這并不是為現(xiàn)在的c/c++教學(xué)辯護(hù),。恰恰相反,,從我了解的情況來(lái)看,目前普通高校的c/c++教學(xué)質(zhì)量非常令人擔(dān)憂,。學(xué)生學(xué)不會(huì),,而且越學(xué)越?jīng)]有興趣,老師則感到教起來(lái)很棘手,,迫于現(xiàn)實(shí)情況往往選擇敷衍了事,。反而是教java,無(wú)論如何學(xué)生還能學(xué)到一點(diǎn)東西,,對(duì)就業(yè)也有直接的幫助,。至于學(xué)生的核心能力確實(shí),發(fā)展后勁不足等問(wèn)題,,就讓他們?cè)诂F(xiàn)實(shí)工作中自己解決吧,。坦率地說(shuō),這種想法也很有道理,。不過(guò),,從教學(xué)角度來(lái)說(shuō),我認(rèn)為老師們還是應(yīng)該積極考慮如何提高c/c++的教學(xué)質(zhì)量,。畢竟學(xué)生階段是十分寶貴的,,基礎(chǔ)不在這個(gè)時(shí)期夯實(shí),將來(lái)想彌補(bǔ),,就算不是完全不可能,,也將付出十倍的代價(jià)。本著對(duì)學(xué)生職業(yè)生涯的負(fù)責(zé)態(tài)度,,還是應(yīng)該幫助學(xué)生達(dá)到這個(gè)階段應(yīng)該達(dá)到的目標(biāo),。在兩位教授的公開信里,也充分表達(dá)出這個(gè)意思,。

我贊成的編程教育過(guò)程,,應(yīng)當(dāng)是以c/c++(基本上是c)為主線,貫穿起算法,、數(shù)據(jù)結(jié)構(gòu),、系統(tǒng)原理、編譯和數(shù)據(jù)處理,、軟件設(shè)計(jì)和組件技術(shù)等關(guān)鍵知識(shí)領(lǐng)域,,讓學(xué)生能夠從根本上理解現(xiàn)代軟件系統(tǒng)的原理和構(gòu)造,并通過(guò)有效的練習(xí)建立正確的軟件設(shè)計(jì)觀念和良好的工程實(shí)踐習(xí)慣,。在這個(gè)基礎(chǔ)上,,無(wú)論將來(lái)是深入學(xué)習(xí)c++,,還是進(jìn)入java的繁榮世界,或者擁抱python,、ruby,,甚至于走向web開發(fā),都會(huì)心領(lǐng)神會(huì),,勢(shì)如破竹,。

java不適做主要編程教學(xué)語(yǔ)言有哪些 java不好用篇三

西安英泰移動(dòng)通信學(xué)院s2級(jí)java編程語(yǔ)言測(cè)試題 1

java編程語(yǔ)言面試題

一、簡(jiǎn)答題

1,、簡(jiǎn)述用java編程語(yǔ)言編寫,、編譯、解釋和執(zhí)行過(guò)程,。

2,、簡(jiǎn)述在java jdk中,程序的作用,。

3,、簡(jiǎn)述java編程語(yǔ)言中的數(shù)組和c編程語(yǔ)言中定義數(shù)組有什么區(qū)別。

4,、簡(jiǎn)述類與對(duì)象的關(guān)系,。對(duì)象的方法和類的方法是否為一回事?

5,、jvm在解析代碼person p1=new person()和new person()時(shí)有什么區(qū)別,?

6、簡(jiǎn)述this關(guān)鍵字的四中用途,。

7,、簡(jiǎn)述構(gòu)造函數(shù)的作用。

8,、分別簡(jiǎn)述static和final關(guān)鍵字的意義,。

9、簡(jiǎn)述抽象類和接口的區(qū)別,,并闡明抽象類和接口的用途,。

10、簡(jiǎn)述多態(tài)的概念和意義,。

11,、簡(jiǎn)述異常和錯(cuò)誤的區(qū)別。

12,、簡(jiǎn)述如何創(chuàng)建和啟動(dòng)一個(gè)線程的兩種方法

13,、簡(jiǎn)述棧內(nèi)存和堆內(nèi)存分別用來(lái)做什么。

14、簡(jiǎn)述throw關(guān)鍵字在程序中拋出的是什么,。

15、在一個(gè)類的public static void method()中,,能夠直接使用該類什么類型的成員,。

二、計(jì)算題

1,、在類runner中定義一個(gè)方法move(),,要求這個(gè)方法的參數(shù)是一個(gè)實(shí)現(xiàn)了接口runnable的匿名內(nèi)部類的對(duì)象,該接口中的方法中的內(nèi)容自己可以決定,。

2,、類outer中與方法屬性平行定義的內(nèi)部類為inner{ public void dostuff(){}},寫出在另一個(gè)類testinner的public static void main(string s)中調(diào)用方法dostuff()的代碼。

3,、類book{ public void insert(string id)throws exception{…}}中的方法被類testbook中public void testinser()方法調(diào)用,,寫出該方法中的主要代碼。

4,、兩個(gè)頂級(jí)包test1和test2,,,再用winrar打開時(shí),會(huì)在瀏覽器上看到下列層次;

◎meta-inf

◎test1

◎test2

注:◎?yàn)槲募A

請(qǐng)寫出操作過(guò)程,,并寫出運(yùn)行的命令行程序(提示:用jar.......).5,、同一個(gè)線程類threadtest中定義了:

public synchronized void sale(){...}

synchronized(str){...}

寫出能使這兩個(gè)類成員保持同步的改進(jìn)代碼。

6,、解釋類class q{

private string name=“李四”;

private string sex=“女”;

boolean bfull=false;

public synchronized void put(string name,string sex){

if(bfull)

try{

wait();

=name;

}catch(interruptedexception e){}

try{

(10);

}catch(exception e){

n(sage());

}

=sex;

bfull=true;

notify();

}

public synchronized void get()

{

if(!bfull)

try{

wait();

}catch(interruptedexception e){}

n(name + “----” + sex);

bfull=false;

notify();

}

}

中wait(),、notify()、sleep()諸方法的作用,。

7,、在類class testinteger{

public static void main(string[] args){

int w =。,。,。。,。,。。,。,。。,。,。。。,。,。。,。,。,。// 將args[0]轉(zhuǎn)換int型的方法

int h =,。,。,。,。,。,。,。,。,。。,。,。。,。,。。,。,。。,。//將args[1]轉(zhuǎn)換int型的另一種方法//int h = f(args[1]).intvalue();//第三種方法

for(int i=0;i

stringbuffer sb=new stringbuffer();

for(int j=0;j

('*');

}

n(ng());

}

}

}

中,,args[0]的值為:“1234”,args[1]的值為:“5678”,,請(qǐng)上面代碼塊中的……………處填寫代碼,。

8、下面類

import .*;

public class testvector{

public static void main(string [] args){

int b=0;

vector v=new vector();n(“please enter number:”);

while(true){

try{

b= ();//……….} catch(exception e){

n(sage());

}

if(b=='r' || b== 'n')

break;

else{

int num=b-'0';

ment(new integer(num));//………..}

}

int sum=0;

enumeration e=ts();//…………………

while(eelements()){

integer intobj=(integer)ement();//………………..sum += ue();

}

n(sum);

}

}

中,請(qǐng)?jiān)谥T單行注釋//,。,。。,。中解釋其左邊一行代碼的意義,。

9、下面類

import .*;

public class datastreamtest{

public static void main(string[] args){

try{

fileoutputstream fos=new fileoutputstream(“c:”);//…….bufferedoutputstream bos= new bufferedoutputstream(fos);//……

dataoutputstream dos= new dataoutputstream(bos);//……..tf(“ab中國(guó)”);//………

ytes(“ab中國(guó)”);

hars(“ab中國(guó)”);

();//…………

fileinputstream fis=new fileinputstream(“”);//…….bufferedinputstream bis=new bufferedinputstream(fis);//…….datainputstream dis=new datainputstream(bis);//…….n(f());

();

}catch(exception e){

n(sage());

}

}

}

中,請(qǐng)?jiān)谥T單行注釋//,。,。,。。中解釋其左邊一行代碼的意義,。

10,、已知接口:interface pci {

voidstart();

voidstop();

}

要求:寫兩個(gè)類:networkcard,soundcard分別實(shí)現(xiàn)上面接口的方法(內(nèi)容自編),,并寫第三個(gè)類mainboard,,該類中的方法install(pci p)應(yīng)用networkcard,soundcard兩個(gè)類對(duì)象的方法,。根據(jù)上面的要求,,填寫下面的代碼:

class assembler

{

public static void main(string []args)

{

//在下面寫代碼….}

}

class networkcard ….{

}

class soundcard…………{

}

class mainboard…………………………………..{

install(pci p){

}

}

java不適做主要編程教學(xué)語(yǔ)言有哪些 java不好用篇四

《java編程》

計(jì)算器

班級(jí):****** 姓名:******

學(xué)號(hào): ******* 指導(dǎo)老師:******

實(shí)驗(yàn)名稱:java計(jì)算器

1實(shí)驗(yàn)?zāi)康? java編程語(yǔ)言在編程方面的具體應(yīng)用,以及使用面向?qū)ο蠓椒?對(duì)小應(yīng)用程序進(jìn)行需求分

析,、概要設(shè)計(jì),、詳細(xì)設(shè)計(jì),最后使用java編程實(shí)現(xiàn)的全過(guò)程,。

2實(shí)驗(yàn)意義:

在編程我們使用的java語(yǔ)言,,是目前比較流行的編程語(yǔ)言。在當(dāng)今這個(gè)時(shí)代,,java語(yǔ)言在編程方面的優(yōu)勢(shì)使得編程有了更好的選擇,。java語(yǔ)言最大的特點(diǎn)是具有跨平臺(tái)性,使其不受平臺(tái)不同的影響,,得到了廣泛的應(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í)解決實(shí)際問(wèn)題,。

⑵學(xué)會(huì)在應(yīng)用程序的設(shè)計(jì)過(guò)程中,應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,。⑶學(xué)會(huì)應(yīng)用jdbc創(chuàng)建數(shù)據(jù)庫(kù)應(yīng)用程序,。

⑷學(xué)會(huì)開發(fā)基于swing的應(yīng)用程序及多文檔應(yīng)用程序的設(shè)計(jì)。實(shí)訓(xùn)任務(wù)

用java語(yǔ)言開發(fā)工具(例如jdk,、jcreator,、netbeans等)制作一個(gè)簡(jiǎn)單的可運(yùn)行的完整的應(yīng)用程序或小型系統(tǒng),并編制出各階段必要的文檔,。

將創(chuàng)建一個(gè)計(jì)算器,,可以進(jìn)行常用的加減乘除算術(shù)運(yùn)算。本實(shí)例的知識(shí)點(diǎn)有:窗口布局器gridlayout的應(yīng)用,,對(duì)按鈕消息的監(jiān)聽(tīng)和響應(yīng),。

6實(shí)訓(xùn)條件

<軟件:>windows xp,netbeans ide 6.52 7開發(fā)背景: java是由sun microsystems公司于1995年5月推出的java程序設(shè)計(jì)語(yǔ)言(以下簡(jiǎn)稱java語(yǔ)言)和java平臺(tái)的總稱。java語(yǔ)言是一個(gè)支持網(wǎng)絡(luò)計(jì)算的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,。java語(yǔ)言吸收了smalltalk語(yǔ)言和c++語(yǔ)言的優(yōu)點(diǎn),,并增加了其它特性,如支持并發(fā)程序設(shè)計(jì)、網(wǎng)絡(luò)通信,、和多媒體數(shù)據(jù)控制等,。

8系統(tǒng)部分分析:

1)java語(yǔ)言是簡(jiǎn)單的。java語(yǔ)言的語(yǔ)法與c語(yǔ)言和c++語(yǔ)言很接近,,使得大多數(shù)程序員很容易學(xué)習(xí)和使用java,。另一方面,java丟棄了c++ 中很少使用的,、很難理解的,、令人迷惑的那些特性,如操作符重載,、多繼承,、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。

2)java語(yǔ)言是一個(gè)面向?qū)ο蟮?。java語(yǔ)言提供類,、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),,只支持類之間的單繼承,,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements),。java語(yǔ)言全面支持動(dòng)態(tài)綁定,,而c++ 語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定

3)java語(yǔ)言是分布式的。java語(yǔ)言支持internet應(yīng)用的開發(fā),,在基本的java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(),,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括url,、urlconnection,、socket、serversocket等,。java的rmi(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段,。

4)java語(yǔ)言是健壯的。java的強(qiáng)類型機(jī)制,、異常處理,、廢料的自動(dòng)收集等是java程序健壯性的重要保證。對(duì)指針的丟棄是java的明智選擇,。java的安全檢查機(jī)制使得java更具健壯性,。

5)java語(yǔ)言是安全的。java通常被用在網(wǎng)絡(luò)環(huán)境中,,為此,,java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊,。除了java語(yǔ)言具有的許多安全特性以外,java對(duì)通過(guò)網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類classloader),,如分配不同的名字空間以防替代本地的同名類,、字節(jié)代碼檢查,并提供安全管理機(jī)制.6)java語(yǔ)言是體系結(jié)構(gòu)中立的,。java程序(后綴為java的文件)在java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)java平臺(tái)的任何系統(tǒng)中運(yùn)行,。

7)java語(yǔ)言是可移植的。這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,,另外,,java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度。java系統(tǒng)本身也具有很強(qiáng)的可移植性,,java編譯器是用java實(shí)現(xiàn)的.8)java語(yǔ)言是解釋型的,。如前所述,java程序在java平臺(tái)上被編譯為字節(jié)碼格式,,然后可以在實(shí)現(xiàn)這個(gè)java平臺(tái)的任何系統(tǒng)中運(yùn)行,。

9)java是高性能的,。與那些解釋型的高級(jí)腳本語(yǔ)言相比,,java的確是高性能的。事實(shí)上,,java的運(yùn)行速度隨著jit(just-in-time)編譯器技術(shù)的發(fā)展越來(lái)越接近于c++,。

10)java語(yǔ)言是多線程的。在java語(yǔ)言中,,線程是一種特殊的對(duì)象,,它必須由thread類或其子(孫)類來(lái)創(chuàng)建。

11)java語(yǔ)言是動(dòng)態(tài)的,。java語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境,。

目錄

課程設(shè)計(jì)題目 ……………………………… p1

課程設(shè)計(jì)簡(jiǎn)介 ……………………………… p2

課程設(shè)計(jì)源代碼…………………………… p5

課程設(shè)計(jì)運(yùn)行結(jié)果 ……………………… p15 課程設(shè)計(jì)心得體會(huì) ………………………

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ù)號(hào)按鈕,退格按鈕,求倒數(shù)按鈕,等號(hào)按鈕,清零按鈕;

panel panel;

jtextfield resultshow;

string 運(yùn)算符號(hào)[]={“+”,“-”,“*”,“/”};

linkedlist 鏈表;

boolean 是否按下等號(hào)=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)算符號(hào)[i]);

oprationbutton[i].addactionlistener(this);

}

小數(shù)點(diǎn)按鈕=new button(“.”);

正負(fù)號(hào)按鈕

=new button(“+/-”);

等號(hào)按鈕=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ù)號(hào)按鈕);

(小數(shù)點(diǎn)按鈕);

(oprationbutton[3]);

(等號(hào)按鈕);

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);

是否按下等號(hào)=false;

}

else if(()==1&&是否按下等號(hào)==false)

{

int number=ber();

string num=(string)first();

string s=(”“+number);

(0,s);

t(s);

}

else if(()==1&&是否按下等號(hào)==true)

{

int number=ber();

first();

(”“+number);

是否按下等號(hào)=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)算符號(hào)();

(fuhao);

}

else if(()==2)

{

string fuhao=運(yùn)算符號(hào)();

(1,fuhao);

}

else if(()==3)

{

string fuhao=運(yùn)算符號(hào)();

string number1=(string)first();

string number2=(string)t();

string 運(yùn)算符號(hào)=(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()==等號(hào)按鈕)

{

是否按下等號(hào)=true;

if(()==1||()==2)

{

string num=(string)first();

t(”“+num);

}

else if(()==3)

{

string number1=(string)first();

string number2=(string)t();

string 運(yùn)算符號(hào)=(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)

{

是否按下等號(hào)=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ù)號(hào)按鈕)

{

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()==清零按鈕)

{

是否按下等號(hào)=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)算符號(hào);

public operationbutton(string s)

{

super(s);

運(yùn)算符號(hào)=s;

setforeground();

}

public string get運(yùn)算符號(hào)()

{

return 運(yùn)算符號(hào);

} } 14 java實(shí)訓(xùn)心得:

未接觸java之前,,聽(tīng)人說(shuō)java這門語(yǔ)言如何的強(qiáng)大和難以入門,,但學(xué)習(xí)之后,給我的感覺(jué)卻是語(yǔ)言沒(méi)有所謂的難于不難,,關(guān)鍵是自己有沒(méi)有真正投入去學(xué),,有沒(méi)有花時(shí)間去學(xué)。java是一門很好的語(yǔ)言,,經(jīng)過(guò)周圍人對(duì)java的宣傳,,我一開始不敢去學(xué)習(xí)這門語(yǔ)言,因?yàn)橐婚T高級(jí)語(yǔ)言總是讓人想到一開始的學(xué)習(xí)會(huì)很難,,但是后來(lái)在自己的努力和老師同學(xué)的幫助下,,我加入了java學(xué)習(xí)者的行列,。

老師把我們帶進(jìn)了門,那么,,以后漫長(zhǎng)的深入學(xué)習(xí)還是要靠自己,。經(jīng)常性的編寫一些程序,或則去看懂,、研究透別人編寫的程序?qū)τ谖覀兇蚝没A(chǔ)是非常有利的,。讓我們懷著對(duì)java的一腔熱情,用自己的刻苦努力去把java學(xué)好,。將來(lái),,用自己的成績(jī)?nèi)セ貓?bào)有恩于我們的社會(huì)、家人和朋友,。

java不適做主要編程教學(xué)語(yǔ)言有哪些 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è)有變量說(shuō)明語(yǔ)句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.有語(yǔ)法錯(cuò)誤

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)于變量及其范圍的陳述哪些是錯(cuò)的。

a.實(shí)例變量是類的成員變量,。

b.實(shí)例變量用關(guān)鍵字static聲明,。

c.在方法中定義的局部變量在該方法被執(zhí)行時(shí)創(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.前者帶有緩沖,,后者沒(méi)有

c.前者是塊讀寫,,后者是字節(jié)讀寫

d.二者沒(méi)有區(qū)別,可以互換使用

簡(jiǎn)答題

17:找出兩個(gè)字符串中最大子字符串,如“abractyeyt”,“dgdsaeactyey”的最大子串為“actyet”

18:假設(shè)你有一個(gè)用1001個(gè)整數(shù)組成的數(shù)組,,這些整數(shù)是任意排列的,,但是你知道所有的整數(shù)都在1到1000(包括1000)之間。此外,,除一個(gè)數(shù)字出現(xiàn)兩次外,,其他所有數(shù)字只出現(xiàn)一次。假設(shè)你只能對(duì)這個(gè)數(shù)組做一次處理,,用一種算法找出重復(fù)的那個(gè)數(shù)字,。如果你在運(yùn)算中使用了輔助的存儲(chǔ)方式,那么你能找到不用這種方式的算法嗎?

19:到底在哪里使用cascade=“...”?

20:使用tomcat部署應(yīng)用程序 emoryerror 嗎?如何解決的,。

21:請(qǐng)寫一個(gè)java程序?qū)崿F(xiàn)數(shù)據(jù)庫(kù)緩沖池的功能?

22:有200個(gè)正整數(shù),,且每個(gè)數(shù)均在1000至9999之間。請(qǐng)編制函數(shù),,其函數(shù)的功能是:要求按每個(gè)數(shù)的后三位的大小進(jìn)行升序排列,,然后取出滿足此條件的前10個(gè)數(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:下面的代碼在絕大部分時(shí)間內(nèi)都運(yùn)行得很正常,,請(qǐng)問(wèn)在什么情況下會(huì)出現(xiàn)問(wèn)題?問(wè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();

}

}

}

全文閱讀已結(jié)束,,如果需要下載本文請(qǐng)點(diǎn)擊

下載此文檔
你可能感興趣的文章
a.付費(fèi)復(fù)制
付費(fèi)獲得該文章復(fù)制權(quán)限
特價(jià):5.99元 10元
微信掃碼支付
已付款請(qǐng)點(diǎn)這里
b.包月復(fù)制
付費(fèi)后30天內(nèi)不限量復(fù)制
特價(jià):9.99元 10元
微信掃碼支付
已付款請(qǐng)點(diǎn)這里 聯(lián)系客服