java由于是解釋性語言所以比較慢,也正是這樣才有良好的移植性,一次編譯即可在有JRE的操作系統(tǒng)中運行。這有利于Java程序的安全。Java沒有函數(shù),作為一個比c語言更純的面向?qū)ο蟮恼Z言,Java強迫開發(fā)人員把所有例行程序包括在類中,事實上,用方法實現(xiàn)例行程序可激勵開發(fā)人員更好地組織編碼。
JAVA開發(fā)與C語言開發(fā)各有什么優(yōu)缺點?
Java之所以慢,是因為它是一種解釋性語言,這也是它具有良好可移植性的原因。它可以在編譯了JRE的操作系統(tǒng)中運行。廣泛使用的桌面、網(wǎng)絡(luò)和移動電話都有java應(yīng)用程序。第三方的擴展有很多,大部分都是開源的,簡單易學(xué)。面向?qū)ο驝語言的開發(fā)大部分是底層開發(fā),編譯語言,快速和面向過程的語言。代碼很大一部分是C語言
和C語言相比Java編程有哪些優(yōu)勢
C語言和java (C是面向過程的,java是面向?qū)ο蟮?的區(qū)別和各自的優(yōu)勢。1.語言背景C語言是Java在研究電子消費產(chǎn)品和互聯(lián)網(wǎng)應(yīng)用開發(fā)平臺的基礎(chǔ)上實現(xiàn)的,它的很多語言特性都是繼承和發(fā)展自C語言,使得面向?qū)ο蟾幼匀缓屯晟?比如安全性和代碼可移動性)。2.語言跨平臺C語言不能跨平臺。Java不怕這個,因為JAVA可以跨平臺,可以在unix等系統(tǒng)上很好的運行。3.指針管理指針是C語言最大的優(yōu)點。可以讓用戶訪問電腦幾乎所有的內(nèi)存資源和其他部分資源(也就是在那里玩)。同時,C語言程序的掌握和調(diào)試也是最困難的問題,給系統(tǒng)的安全性和穩(wěn)定性帶來很大困難。但是,java中沒有指針的概念。雖然也有引用數(shù)組和對象的概念,但其管理全部交給系統(tǒng)管理,限制了用戶對資源的訪問,同時也給java系統(tǒng)帶來了安全性和穩(wěn)定性。JAVA語言使得程序員在沒有指針的情況下無法找到指針直接訪問內(nèi)存,并增加了自動內(nèi)存管理功能,從而有效防止了C語言中的指針操作錯誤,比如野指針導(dǎo)致的系統(tǒng)崩潰。但并不是說JAVA沒有指針。指針在虛擬機內(nèi)部使用,但不允許外人使用。這有利于java程序的安全性。4.封裝了Java中引入的概念,使得面向?qū)ο蠛兔嫦蚪M件的開發(fā)更加方便,而C語言中沒有這個概念,所以需要其他方式來實現(xiàn)。Java可以實現(xiàn)面向?qū)ο蟮乃枷?封裝、乘法和多態(tài))。因為C語言為了照顧大量的C語言用戶而與C兼容,所以只是變成了有類的C語言,多多少少影響了它面向?qū)ο蟮膹氐仔?!JAVA是一種完全面向?qū)ο蟮恼Z言,語法更清晰,規(guī)模更小,更容易學(xué)習(xí)。它在對各種編程語言進行深入細致研究的基礎(chǔ)上,摒棄了其他語言的缺點,從根本上解決了C語言固有的缺陷。5.數(shù)據(jù)類型和類Java是一種完全面向?qū)ο蟮恼Z言,所有的函數(shù)和變量都必須是類的一部分。除了基本數(shù)據(jù)類型,其余都是類對象,包括數(shù)組。將對象數(shù)據(jù)和方法結(jié)合起來,封裝在類中,這樣每個對象都可以實現(xiàn)自己的特性和行為。c語言允許函數(shù)和變量被定義為全局的。6.自動內(nèi)存管理。Java程序中的所有對象都是用new運算符建立在內(nèi)存棧上的,Java自動執(zhí)行內(nèi)存回收操作,不需要程序員刪除。但在C語言中,內(nèi)存資源必須由程序外殼釋放,增加了程序員的負拋。當(dāng)一個對象在Java中不再被使用時,垃圾收集器會將它標(biāo)記為刪除。JAVA中的垃圾收集器通過線程在后臺運行,在空閑時間工作。7.字符串C語言不支持字符串變量。在C語言程序中,空終止符用來表示字符串的結(jié)束。在Java中,字符串是通過類對象(和)實現(xiàn)的,類對象是Java語言的核心!Java沒有函數(shù)。作為一種比C更純粹的面向?qū)ο笳Z言,Java迫使開發(fā)人員在類中包含所有的例程。事實上,通過方法實現(xiàn)例程可以激勵開發(fā)人員更好地組織他們的編碼。
JAVA和C有什么不同呢?
JAVA是一種簡化C的語言,就像上面那個人說的,JAVA比C簡單學(xué)一點,但是如果學(xué)CJAVA就不難了。