又大又粗又硬又爽又黄毛片,国产精品亚洲第一区在线观看,国产男同GAYA片大全,一二三四视频社区5在线高清

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

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

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

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

java不適做主要編程教學語言有哪些 java不好用篇一

包括編程語言和相關的技術。

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

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

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

第二章變量、數據類型和運算符

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

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

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

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

6.數據類型轉換包括了自動類型轉換和強制類型轉換,自動類型轉換需要滿足類型兼容且目標類型大于源類型的條件

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

中的關系運算符可以用于來比較大小,高低,多少等,比較厚的結果是boolean類型。

提供scanner類,可以實現從控制臺獲取鍵盤上輸入的信息

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

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

第四章選擇結構(二)選擇結構適用于進行等值判斷

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

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

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

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

調試:設置斷點,單步運行,觀察變量

第六章循環(huán)結構(二)循環(huán)結構的語法結構如下

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

} //循環(huán)體

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

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

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

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

(3)return可以結束當前方法的執(zhí)行并退出,返回調用該方法的語句處

第七章數組

1.數組是可以在內存中連續(xù)存儲多個元素的結構,數組中的所有元素必須屬于相同的數據類型

2.數組中的元素通過數組的下標進行訪問,數組的下標從0開始 3數組可用一個循環(huán)為元素賦值,或用一個循環(huán)輸出數組中的元素信息

可獲得數組長度

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

第八章循環(huán)結構進階

1.數組的輸入排序,選擇排序,冒泡排序

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

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

思路:將數據插入到已排序的數組中。

java不適做主要編程教學語言有哪些 java不好用篇二

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

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

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

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

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

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

教學語言的選擇是至關重要的事情。作為大多數學生第一種需要認真學習理解的編程語

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

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

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

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

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

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

我贊成的編程教育過程,應當是以c/c++(基本上是c)為主線,貫穿起算法、數據結構、系統原理、編譯和數據處理、軟件設計和組件技術等關鍵知識領域,讓學生能夠從根本上理解現代軟件系統的原理和構造,并通過有效的練習建立正確的軟件設計觀念和良好的工程實踐習慣。在這個基礎上,無論將來是深入學習c++,還是進入java的繁榮世界,或者擁抱python、ruby,甚至于走向web開發(fā),都會心領神會,勢如破竹。

java不適做主要編程教學語言有哪些 java不好用篇三

西安英泰移動通信學院s2級java編程語言測試題 1

java編程語言面試題

一、簡答題

1、簡述用java編程語言編寫、編譯、解釋和執(zhí)行過程。

2、簡述在java jdk中,程序的作用。

3、簡述java編程語言中的數組和c編程語言中定義數組有什么區(qū)別。

4、簡述類與對象的關系。對象的方法和類的方法是否為一回事?

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

6、簡述this關鍵字的四中用途。

7、簡述構造函數的作用。

8、分別簡述static和final關鍵字的意義。

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

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

11、簡述異常和錯誤的區(qū)別。

12、簡述如何創(chuàng)建和啟動一個線程的兩種方法

13、簡述棧內存和堆內存分別用來做什么。

14、簡述throw關鍵字在程序中拋出的是什么。

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

二、計算題

1、在類runner中定義一個方法move(),要求這個方法的參數是一個實現了接口runnable的匿名內部類的對象,該接口中的方法中的內容自己可以決定。

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

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

4、兩個頂級包test1和test2,,再用winrar打開時,會在瀏覽器上看到下列層次;

◎meta-inf

◎test1

◎test2

注:◎為文件夾

請寫出操作過程,并寫出運行的命令行程序(提示:用jar.......).5、同一個線程類threadtest中定義了:

public synchronized void sale(){...}

synchronized(str){...}

寫出能使這兩個類成員保持同步的改進代碼。

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]轉換int型的方法

int h =。。。。。。。。。。。。。。。。。。。。//將args[1]轉換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”,請上面代碼塊中的……………處填寫代碼。

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

}

}

中,請在諸單行注釋//。。。。中解釋其左邊一行代碼的意義。

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中國”);//………

ytes(“ab中國”);

hars(“ab中國”);

();//…………

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

();

}catch(exception e){

n(sage());

}

}

}

中,請在諸單行注釋//。。。。中解釋其左邊一行代碼的意義。

10、已知接口:interface pci {

voidstart();

voidstop();

}

要求:寫兩個類:networkcard,soundcard分別實現上面接口的方法(內容自編),并寫第三個類mainboard,該類中的方法install(pci p)應用networkcard,soundcard兩個類對象的方法。根據上面的要求,填寫下面的代碼:

class assembler

{

public static void main(string []args)

{

//在下面寫代碼….}

}

class networkcard ….{

}

class soundcard…………{

}

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

install(pci p){

}

}

java不適做主要編程教學語言有哪些 java不好用篇四

《java編程》

計算器

班級:****** 姓名:******

學號: ******* 指導老師:******

實驗名稱:java計算器

1實驗目的: java編程語言在編程方面的具體應用,以及使用面向對象方法,對小應用程序進行需求分

析、概要設計、詳細設計,最后使用java編程實現的全過程。

2實驗意義:

在編程我們使用的java語言,是目前比較流行的編程語言。在當今這個時代,java語言在編程方面的優(yōu)勢使得編程有了更好的選擇。java語言最大的特點是具有跨平臺性,使其不受平臺不同的影響,得到了廣泛的應用。實訓性質

本課程是計算機信息管理專業(yè)的一門實踐性課程,是《java編程》課程的實踐性教學環(huán)節(jié)。實訓目標

⑴綜合應用java程序設計的知識解決實際問題。

⑵學會在應用程序的設計過程中,應用面向對象的程序設計方法。⑶學會應用jdbc創(chuàng)建數據庫應用程序。

⑷學會開發(fā)基于swing的應用程序及多文檔應用程序的設計。實訓任務

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

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

6實訓條件

<軟件:>windows xp,netbeans ide 6.52 7開發(fā)背景: java是由sun microsystems公司于1995年5月推出的java程序設計語言(以下簡稱java語言)和java平臺的總稱。java語言是一個支持網絡計算的面向對象程序設計語言。java語言吸收了smalltalk語言和c++語言的優(yōu)點,并增加了其它特性,如支持并發(fā)程序設計、網絡通信、和多媒體數據控制等。

8系統部分分析:

1)java語言是簡單的。java語言的語法與c語言和c++語言很接近,使得大多數程序員很容易學習和使用java。另一方面,java丟棄了c++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。

2)java語言是一個面向對象的。java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現機制(關鍵字為implements)。java語言全面支持動態(tài)綁定,而c++ 語言只對虛函數使用動態(tài)綁定

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

4)java語言是健壯的。java的強類型機制、異常處理、廢料的自動收集等是java程序健壯性的重要保證。對指針的丟棄是java的明智選擇。java的安全檢查機制使得java更具健壯性。

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

7)java語言是可移植的。這種可移植性來源于體系結構中立性,另外,java還嚴格規(guī)定了各個基本數據類型的長度。java系統本身也具有很強的可移植性,java編譯器是用java實現的.8)java語言是解釋型的。如前所述,java程序在java平臺上被編譯為字節(jié)碼格式,然后可以在實現這個java平臺的任何系統中運行。

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

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

11)java語言是動態(tài)的。java語言的設計目標之一是適應于動態(tài)變化的環(huán)境。

目錄

課程設計題目 ……………………………… p1

課程設計簡介 ……………………………… p2

課程設計源代碼…………………………… p5

課程設計運行結果 ……………………… p15 課程設計心得體會 ………………………

p16

package computerpad;import .*;import .event.*;import .*;import .*;import list;import format;public class computerpad extends frame implements actionlistener {

numberbutton numberbutton[];

operationbutton oprationbutton[];

button 小數點按鈕,正負號按鈕,退格按鈕,求倒數按鈕,等號按鈕,清零按鈕;

panel panel;

jtextfield resultshow;

string 運算符號[]={“+”,“-”,“*”,“/”};

linkedlist 鏈表;

boolean 是否按下等號=false;

public computerpad()

{

super(“計算器”);

鏈表=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(運算符號[i]);

oprationbutton[i].addactionlistener(this);

}

小數點按鈕=new button(“.”);

正負號按鈕

=new button(“+/-”);

等號按鈕=new button(“=”);

求倒數按鈕=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]);

(求倒數按鈕);

(numberbutton[0]);

(正負號按鈕);

(小數點按鈕);

(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=運算符號();

(fuhao);

}

else if(()==2)

{

string fuhao=運算符號();

(1,fuhao);

}

else if(()==3)

{

string fuhao=運算符號();

string number1=(string)first();

string number2=(string)t();

string 運算符號=(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 運算符號=(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()==小數點按鈕)

{

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()==正負號按鈕)

{

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()==求倒數按鈕)

{

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 運算符號;

public operationbutton(string s)

{

super(s);

運算符號=s;

setforeground();

}

public string get運算符號()

{

return 運算符號;

} } 14 java實訓心得:

未接觸java之前,聽人說java這門語言如何的強大和難以入門,但學習之后,給我的感覺卻是語言沒有所謂的難于不難,關鍵是自己有沒有真正投入去學,有沒有花時間去學。java是一門很好的語言,經過周圍人對java的宣傳,我一開始不敢去學習這門語言,因為一門高級語言總是讓人想到一開始的學習會很難,但是后來在自己的努力和老師同學的幫助下,我加入了java學習者的行列。

老師把我們帶進了門,那么,以后漫長的深入學習還是要靠自己。經常性的編寫一些程序,或則去看懂、研究透別人編寫的程序對于我們打好基礎是非常有利的。讓我們懷著對java的一腔熱情,用自己的刻苦努力去把java學好。將來,用自己的成績去回報有恩于我們的社會、家人和朋友。

java不適做主要編程教學語言有哪些 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:設有變量說明語句int a=1,b=0;

則執(zhí)行以下程序段的輸出結果為()。

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:下面關于變量及其范圍的陳述哪些是錯的。

a.實例變量是類的成員變量。

b.實例變量用關鍵字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é)數不同

b.前者帶有緩沖,后者沒有

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

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

簡答題

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

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

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

20:使用tomcat部署應用程序 emoryerror 嗎?如何解決的。

21:請寫一個java程序實現數據庫緩沖池的功能?

22:有200個正整數,且每個數均在1000至9999之間。請編制函數,其函數的功能是:要求按每個數的后三位的大小進行升序排列,然后取出滿足此條件的前10個數依次存入數組bb中,如果后三位的數值相等,則按原先的數值進行降序排列。

23:anonymous inner class(匿名內部類)是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)?

24:找出字符串a中包含的字符可以進行的所有不同組合。例如:abccd中,ab,ac,bc,cc,abd等都是可能的組合。

25:下面的代碼在絕大部分時間內都運行得很正常,請問在什么情況下會出現問題?問題的根源在哪里?

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

}

}

}

全文閱讀已結束,如果需要下載本文請點擊

下載此文檔
a.付費復制
付費獲得該文章復制權限
特價:5.99元 10元
微信掃碼支付
已付款請點這里
b.包月復制
付費后30天內不限量復制
特價:9.99元 10元
微信掃碼支付
已付款請點這里 聯系客服