C語(yǔ)言與JAVA的區(qū)分是什么__第1頁(yè)
C語(yǔ)言與JAVA的區(qū)分是什么__第2頁(yè)
C語(yǔ)言與JAVA的區(qū)分是什么__第3頁(yè)
C語(yǔ)言與JAVA的區(qū)分是什么__第4頁(yè)
C語(yǔ)言與JAVA的區(qū)分是什么__第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C語(yǔ)言與JAVA的區(qū)分是什么_ 首先來說說他們各自的歷史:C語(yǔ)言的進(jìn)展歷史 C語(yǔ)言的進(jìn)展頗為好玩。它的原型ALGOL 60語(yǔ)言。(也成為A語(yǔ)言) 1963年,劍橋高校將ALGOL 60語(yǔ)言進(jìn)展成為CPL(Combined Programming Language)語(yǔ)言。 1967年,劍橋高校的Matin Richards 對(duì)CPL語(yǔ)言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語(yǔ)言。 1970年,美國(guó)貝爾試驗(yàn)室的Ken Thompson將BCPL進(jìn)行了修改,并為它起了一個(gè)好玩的名字B語(yǔ)言。意思是將CPL語(yǔ)言煮干,提煉出它的精華。并且他用B語(yǔ)言寫了第一個(gè)UNIX操作系統(tǒng)。 而在1973年,B語(yǔ)言也給人煮了一下

2、,美國(guó)貝爾試驗(yàn)室的D.M.RITCHIE在B語(yǔ)言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語(yǔ)言,他取了BCPL的其次個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。 為了使UNIX操作系統(tǒng)推廣,1977年Dennis M.Ritchie 發(fā)表了不依靠于具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本可移植的C語(yǔ)言編譯程序。 1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著The C Programming Language,從而使C語(yǔ)言成為目前世界上流行最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。 1988年,隨著微型計(jì)算機(jī)的日益普及, 消失了很多C語(yǔ)言版本。由于沒有統(tǒng)一的標(biāo)準(zhǔn),使得這些C語(yǔ)言之間消失了一些不全

3、都的地方。為了轉(zhuǎn)變這種狀況,美國(guó)國(guó)家標(biāo)準(zhǔn)討論所(ANSI)為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn), 成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn) 3.C語(yǔ)言的主要特點(diǎn) 。C語(yǔ)言進(jìn)展快速, 而且成為最受歡迎的語(yǔ)言之一, 主要由于它具有強(qiáng)大的功能。很多有名的系統(tǒng)軟件, 如DBASE PLUS、DBASE 都是由C 語(yǔ)言編寫的。用C語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C語(yǔ)言的優(yōu)勢(shì)了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。 在來說說Java Java是一個(gè)由Sun公司開發(fā)而成的新一代編程語(yǔ)言。用法它可在各種各樣不同種機(jī)器、不同種操作平臺(tái)的網(wǎng)絡(luò)環(huán)境中開發(fā)軟件。不論你用法的是哪一種掃瞄器,哪一種計(jì)算機(jī),哪一種操

4、作系統(tǒng),只要掃瞄器上面注明白支持Java,你就可以看到生動(dòng)的主頁(yè)。Java正在逐步成為Internet應(yīng)用的主要開發(fā)語(yǔ)言。它徹底轉(zhuǎn)變了應(yīng)用軟件的開發(fā)模式,帶來了自PC機(jī)以來又一次技術(shù)革命,為快速進(jìn)展的信息世界增加了新的活力。 Sun的Java語(yǔ)言開發(fā)小組成立于1991年,其目的是開拓消費(fèi)類電子產(chǎn)品市場(chǎng),例如,交互式電視、烤面包箱等。Sun內(nèi)部人員把這個(gè)項(xiàng)目稱為Green,那時(shí)WorldWideWeb還在圖紙上呢。該小組的領(lǐng)導(dǎo)人是JamesGosling,是一位特別杰出的程序員。他誕生于1957年,于1984年加盟SunMicrosystem公司,之前在一家IBM討論機(jī)構(gòu)工作。他是SunNeWs

5、窗口系統(tǒng)的總設(shè)計(jì)師。也是第一個(gè)用C實(shí)現(xiàn)的EMACS的文本編輯器COSMACS的開發(fā)者。 在討論開發(fā)過程中,Gosling深刻體會(huì)到消費(fèi)類電子產(chǎn)品和工作站產(chǎn)品在開發(fā)哲學(xué)上的差異:消費(fèi)類電子產(chǎn)品要求牢靠性高、費(fèi)用低、標(biāo)準(zhǔn)化、用法簡(jiǎn)潔,用戶并不關(guān)懷CPU的型號(hào),也不觀賞專用昂貴的RISC處理器,他們需要建立在一個(gè)標(biāo)準(zhǔn)基礎(chǔ)之上,具有一系列可選的方案,從8086到80586都可以選取。 C語(yǔ)言和JAVA其實(shí)是很相識(shí)的,最挺直的區(qū)分就在與,一個(gè)是全面對(duì)過程,一個(gè)是面對(duì)對(duì)象。而且JAVA是可以跨平臺(tái)的。而C語(yǔ)言不能,但能夠挺直操作硬件,并且生成機(jī)器碼的效率高。C語(yǔ)言多了一個(gè),指針也是C語(yǔ)言的精髓,想要學(xué)好C

6、語(yǔ)言,指針就必需學(xué)好。JAVA是沒有指針的。 總的來說,C語(yǔ)言是基礎(chǔ)語(yǔ)言,JAVA是面對(duì)對(duì)象的一門語(yǔ)言,在學(xué)習(xí)JAVA語(yǔ)言前,我覺得還是最好先學(xué)習(xí)C語(yǔ)言,由于C語(yǔ)言的語(yǔ)法比較簡(jiǎn)潔,只是他的亮點(diǎn)指針很簡(jiǎn)單出錯(cuò),想要好好的運(yùn)用指針是件很難的事,當(dāng)然,用好了,對(duì)你的程序是有很好的關(guān)心,反之,就會(huì)讓你的程序崩潰掉。JAVA更有用于開發(fā)東西了,比較有用,由于JAVA面對(duì)對(duì)象嘛。和我們的思維很相像,所以開發(fā)起來就簡(jiǎn)潔些,而C語(yǔ)言是面對(duì)過程,就和我們的思維方式有著差異,開發(fā)就很少了。而且很難。但由于C語(yǔ)言能夠挺直操作硬件,所以在一些嵌入式系統(tǒng)中,C語(yǔ)言是用法最廣泛的語(yǔ)言。 在語(yǔ)法中 JAVA是從可以算是從C

7、+進(jìn)展而來的,因此Java與C語(yǔ)言的語(yǔ)法比較類似的。 在語(yǔ)法的程序庫(kù)中 言有著自己的標(biāo)準(zhǔn)庫(kù),JAVA卻有著自己得類庫(kù)。 在內(nèi)存的管理中 C語(yǔ)言在用法完一塊內(nèi)存時(shí),要手動(dòng)把內(nèi)存釋放掉,假如不釋放的話,運(yùn)行久了,程序很簡(jiǎn)單就會(huì)崩潰掉的。由于需要顯式的歸還內(nèi)存,因此當(dāng)一個(gè)函數(shù)需要將一塊內(nèi)存返回給調(diào)用者的時(shí)候,問題就比較簡(jiǎn)單了。所以我們所以時(shí)要留意:(1) 在調(diào)用者中先安排好內(nèi)存,作為參數(shù)傳入到被調(diào)用的函數(shù)中(2) 在被調(diào)用的函數(shù)中安排,用法完后在調(diào)用者中釋放(3) 在被調(diào)用函數(shù)中用法static變量,可以將該變量返回。 而JAVA基本不用考慮內(nèi)存的問題,假如想用一個(gè)對(duì)象,new一個(gè)就可以,這個(gè)過程的

8、背后則是JRE為對(duì)象分類的肯定內(nèi)存,當(dāng)JRE發(fā)覺你不再用法這個(gè)對(duì)象的時(shí)候,他就會(huì)自動(dòng)回收內(nèi)存,也就是說你只管借東西,不用管歸還,由于與有人當(dāng)你的跟班,在你不用法的時(shí)候就把東西歸還了,不過這個(gè)過程還是有的,只不過是JRE作的而已。 語(yǔ)法中用法的基本類型 C語(yǔ)言有著許多的基本類型如:(boolean, char, byte, short, int, long, float, double,struct, union, enum)還有數(shù)組,指針等等。 在JAVA中:只有(boolean, char, byte, short, int, long, float, double)這8種基本類型和引用的。

9、 在繼承中 兩種語(yǔ)言都支持方法重載的 C語(yǔ)言是多線繼承,比如:小轎車和貨車都繼承了汽車類,奧迪2021是繼承小轎車的,東風(fēng)大卡車是繼承貨車,這樣奧迪2021也可以繼承貨車,東風(fēng)大卡車也可以繼承小轎車。 JAVA是單繼承的,比如:小轎車和貨車都繼承了汽車類,奧迪2021是繼承小轎車的,東風(fēng)大卡車是繼承貨車,這樣奧迪2021就不能繼承貨車,當(dāng)然東風(fēng)大卡車也不能繼承小轎車。 動(dòng)態(tài)、靜態(tài)綁定 在C語(yǔ)言中,為了允許運(yùn)行時(shí)動(dòng)態(tài)決定哪個(gè)函數(shù)被調(diào)用,一個(gè)函數(shù)必需用virtual修飾。virtual關(guān)鍵字被自動(dòng)繼承,用以支持多態(tài);凡是沒有用virtual修飾的成員函數(shù)(包括static)都是靜態(tài)綁定的,即在編譯

10、時(shí)決定調(diào)用哪個(gè)版本 而在Java中,除了static、final、private是靜態(tài)綁定以外,全部方法一律按動(dòng)態(tài)綁定處理 初始值 在C語(yǔ)言中,是可以不初始化用法的 而在JAVA中,是必需初始化值的 抽象方法或抽象類 C語(yǔ)言的對(duì)等語(yǔ)法是純虛函數(shù)和抽象類 Java用法abstract關(guān)鍵字修飾抽象方法或抽象類,final類不能被繼承 都用法抽象類作為繼承層次中的基類,供應(yīng)一般概念,由子類實(shí)現(xiàn)其抽象方法,且抽象類都不能被挺直實(shí)例化為對(duì)象 super JAVA super關(guān)鍵字,指代父類對(duì)象,通常被用于調(diào)用父類的構(gòu)造方法或一般方法 C語(yǔ)言沒有super關(guān)鍵字 this 兩者都有,都是只當(dāng)前的對(duì)象 package C語(yǔ)言沒有 Java有package的概念,可以將類組織起

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論