1. Java和c語言相比,最大的不同是什麼
關於JAVA語言與C語言,兩大主流程序開發語言,核心區別還是很大的,主要體現在以下幾個方面:
一個面向過程編程,一個面向對象編程。
就比如,你玩C語言,就相當於,你為你對象做一件事,非得把整件事來龍去脈給她來一遍,才能博得伊人歡笑。
而且,編程時越是接近計算機的底層硬體,編程需要考慮的細節就越多。C語言就是接近計算機底層的硬體的編程語言,所以用C語言編程時細節真是考慮的很多。
總之,個人覺得JAVA要更簡單一點,但是C更接近底層,所以一般的開發JAVA就可以了,如果需要系統級開發的話,還是C好一點。
2. c語言和java語言哪個更好
對於很多初學者來講,不太清楚Java和C語言的區別,為了讓那個大家更清晰的了解,近日特意給大家歸納了一些兩者的大致區別,希望能夠給大家帶來一定的幫助作用,也歡迎大家進行詳細補充和歸納。
首先,Java是針對於對象的機制,運算符「new」為每個對象分配內存空間,實際內存會隨程序的運行而發生改變。在運行的同時每個Java系統會對內存進行掃描,會對整個系統資源進行「採集」。這個時候一部分的垃圾文件就會被刪除或者暫時回收。這樣就使得整個系統資源就使用的更加充分合理,程序員對於這點就不需要擔心系統內存方面的一些管理要求,在編寫程序的時候也就變得更加的簡潔明了。而c語言則是通過malloc()和free()這兩資料庫函數來分別實現對於的內存的分配和內存的合理運用。
其次,C語言更多通過子函數調用,Java通過類和類引用,同時擁有非常多的介面。Java面向對象特徵主要表現為封裝,繼承和多變,C語言支持「運算符的重載」,這個是數據抽象和泛型編輯的一大寶典。Java本身為了降低復雜性而不支持這種多變機制,對於Java可以支持方法重載和重寫。
另外,Java比C語言多了一些修飾「Public、Private、Protected」都是一些比較常用的修飾符,而C語言沒有這類的修飾語言,換句話的意思就是C語言還缺乏一定的安全性。
再者,Java不使用指針,但是指針是C語言的精髓,然而Java中更多的是對數據每一位的操作,比如substring等。
總結來講,Java與C語言相比,Java具有簡單、面向對象、分布式、健壯、可移植、解釋性、安全、多線程、垃圾回收等等特點。而對於C語言則是一個比較宏觀的領域,因此Java可以說是C語言的基礎上開設,即C語是基石,Java在時下的運用和使用方面就比較全面。
3. java與C語言哪個更好
從發展前景、未來主導看,C語言更有前途一些。
因為C語言是繼機器碼、匯編之後第一個底層的與自然語言接近的語言,兼顧高效率與易理解,所以做底層的主流語言C的地位永遠不會改變。
java是面向對象的高級語言,主要目的是容易理解和編寫代碼,那麼將來肯定會出現更加人性化的高級語言來取代它。
這個結論從C語言出現的幾十年但一直居於編程語言排行榜的前三名就可以證明。
從優勢和就業來看,java目前好一點,java是面向對象的高級語言,所以應用軟體主要使用它,相比較C擅長的底層開發,應用軟體的市場更大一些,所以也更容易就業一些,但是如果C學的非常好的話,就業非常容易。
4. Java和c語言間的差距 誰更有優勢
對於很多初學者來講,不太清楚Java和C語言的區別,為了讓那個大家更清晰的了解,近日特意給大家歸納了一些兩者的大致區別,希望能夠給大家帶來一定的幫助作用,也歡迎大家進行詳細補充和歸納。
首先,Java是針對於對象的機制,運算符「new」為每個對象分配內存空間,實際內存會隨程序的運行而發生改變。在運行的同時每個Java系統會對內存進行掃描,會對整個系統資源進行「採集」。這個時候一部分的垃圾文件就會被刪除或者暫時回收。這樣就使得整個系統資源就使用的更加充分合理,程序員對於這點就不需要擔心系統內存方面的一些管理要求,在編寫程序的時候也就變得更加的簡潔明了。而c語言則是通過malloc()和free()這兩資料庫函數來分別實現對於的內存的分配和內存的合理運用。
其次,C語言更多通過子函數調用,Java通過類和類引用,同時擁有非常多的介面。Java面向對象特徵主要表現為封裝,繼承和多變,C語言支持「運算符的重載」,這個是數據抽象和泛型編輯的一大寶典。Java本身為了降低復雜性而不支持這種多變機制,對於Java可以支持方法重載和重寫。
另外,Java比C語言多了一些修飾「Public、Private、Protected」都是一些比較常用的修飾符,而C語言沒有這類的修飾語言,換句話的意思就是C語言還缺乏一定的安全性。
再者,Java不使用指針,但是指針是C語言的精髓,然而Java中更多的是對數據每一位的操作,比如substring等。
總結來講,Java與C語言相比,Java具有簡單、面向對象、分布式、健壯、可移植、解釋性、安全、多線程、垃圾回收等等特點。而對於C語言則是一個比較宏觀的領域,因此Java可以說是C語言的基礎上開設,即C語是基石,Java在時下的運用和使用方面就比較全面。
5. Java和c語言哪個執行效率高各有什麼優缺點
單純論執行效率,C比Java高。
C語言編譯出來的程序執行過程是機器直接執行其機器碼。
Java語言編譯出來的程序執行過程是,Java虛擬機翻譯Java位元組碼,然後將其轉換成機器碼告知機器運行。
同時Java語言是自動管理內存的,所以他會追蹤大部分對象的引用情況,佔用的內存比C語言程序要高一些。
相對於C語言Java的優點:
1,開發較快速,難度較低,開發項目時需要的人手少,成品速度快,對開發人員要求低於C語言。
2,相關社區活躍,討論和共享java技術的沒有任何一個語言的社區敢相提並論,壓倒性優勢。
3,異常容易追蹤,C的異常很難處理,有的時候要熬夜找bug
缺點:
1,運行速度較C慢,程序越大越明顯
2,難與底層操作系統和硬體打交道,用C可以輕而易舉獲取操作系統硬體信息,java則不能。
6. C/C++和JAVA的優缺點
C語言
C語言的優點:
1.簡潔緊湊、靈活方便
2.運算符豐富
3.數據結構豐富
4. C是結構式語言
5. C語法限制不太嚴格,程序設計自由度大
6. C語言允許直接訪問物理地址,可以直接 對硬體進行操作
7. C語言程序生成代碼質量高,程序執行效 率高
8. C語言適用范圍大,可移植性好
9. C語言有一個突出的優點就是適合於多種 操作系統,如DOS、UNIX,也適用於多種機型
10.有效地將一個較復雜的程序系統設計任 務分解成許多易於控制和處理的子任務,便 於開發和維護
C語言的缺點:
1. C語言的缺點主要是表現在數據的封裝性 上,這一點使得C在數據的安全性上做的有 很大缺陷,這也是C和C++的一大區別。
2. C語言的語法限制不太嚴格,對變數的類 型約束不嚴格,影響程序的安全性,對數組 下標越界不作檢查等。從應用的角度,C語 言比其他高級語言較難掌握。
3.可重用性差
4.數據安全性差
5.難以開發大型軟體和圖形界面的應用軟體
6.把數據和處理數據的過程分離為相互獨立 的實體
7.當數據結構改變時,所有相關的處理過程 都要進行相應的修改
8.每一種相對於老問題的新方法都要帶來額 外的開銷
9.圖形用戶界面的應用程序,很難用過程來 描述和實現,開發和維護也都很困難
C++
C++優點:
1.可擴展性強
2.高效 簡潔 快速
3.可移植性
4.面向對象的特性
5.強大而靈活的表達能力和不輸於C的效率
6.支持硬體開發
7.程序模塊間的關系更為簡單,程序模塊的 獨立性、數據的安全性就有了良好的保障
8.通過繼承與多態性,可以大大提高程序的 可重用性,使得軟體的開發和維護都更為方便
C++缺點:
1.比較底層,易用性不是很好
2.多重繼承和友元機制
3.標准庫涵蓋范圍不足
4.開發周期長
5.非並行
6.掌握有難度
7.粒度封裝不夠
Java的優點:
1.簡單性
2.面向對象性(面向對象的程度可以達到 95%)
3.健壯性
4.跨平台性
5.高性能(自動垃圾回收機制)
6.多線程
7.動態性
8.安全性
Java的缺點:
1.效率低(毋庸置疑)
2.跨平台是它最大的優點也是最大的缺點
3.復雜性(做一個項目需要很多的知識,涉 及面廣)
7. c語言和java哪個好
這兩種語言都是當今熱門語言,但是從應用場景和就業前景來看,Java語言具有一定的優勢,對於新手來說學習起來會更簡單。
從學習難度來看,Java語言要比C語言簡單一些。因為c語言屬於底層開發語言,演算法邏輯較為復雜,例如指針、內存分配、釋放等概念都需要我們掌握。而Java語言相物絕運對來說,學習起來會容易些,只要掌握一些基本的語法就可罩梁以進行簡單程序的編寫。因此建議新手先從Java語言宏岩學起,如果有精力的話,可以在掌握Java語言的基礎之上,再學習C語言。
8. 論Java與C語言的相同點與不同點和各自的優勢
學習了Java和c語言(雖然不精通),今天就來談一談兩者的優缺點和不同。
首先Java和C都是指令式語言,不同的是Java有面向對象成分在裡面,而C是完全面向過程的。Java具有強大的跨平台性,既不同的操作系統都可以通過JVM來解釋Java程序,只要你的計算機有Java虛擬機即可運行。而C語言則是與平台相關的,有些指令只在某些操作系統中才能執行。具體原因是,Java是解釋型語言,所有代碼都會翻譯成統一的、與系統無關的bytecode,然後放到JVM上運行;而C是編譯式語言,代碼要先通過編譯器轉換成與系統相關的中間代碼,然後才能運行。正因為這樣,所以Java不支持系統調用,既無法與操作系統進行交互,這是由它跨平台的特點決定的,而C則可以調用系統中的指令,如fork()。這也就是為什麼Java中只有線程概念而沒有進程概念,而C語言兩者均具有。
C語言是面向過程的語言,執行效率高;Java是面向對象的語言,執行效率比C語言低。C語言最關鍵的是比Java多了指針,而C語言的亮點指針很容易出錯,能夠靈活的運用指針是件很難的事。用好了,對你的程序是錦上添花,反之,就會讓你的程序崩潰掉。
C語言的安全性不如Java,因為C語言沒有Java的垃圾回收機制,申請的空間要手動釋放。
在速度上,C語言編寫的程序要優於Java,因為Java必須運行在虛擬機的環境中,但是因為虛擬機,Java獲得的平台無關性,而C語言的程序有可能需要重新修改編譯才能實現平台的移植,另一方面,C語言比Java語言更「底層」,因此可以用C語言編寫例如硬體的驅動,而Java卻不行。
Java和C語言還有個明顯的不同就是C語言注重的是演算法,但是Java卻不一樣,想用的時候導包就可以了。C語言的演算法很重要,但是Java中的演算法沒有C語言那麼復雜。列印的方法:C語言是printf('…….');而Java是System.out.print('…….'),也可以用println,ln表示換行。
Java程序中的基本數據類型(boolean, char, byte, short, int, long, float, double),是對對象的引用;C語言也有許多種基本類型,還有struct, union, enum, 數組和指針。在Java沒有枚舉、聯合類型。
Java採用Unicode字元集,C語言通常採用的是ASCII字元集,A—65,a—97。C語言的變數可以不進行初始化,但Java的變數要進行初始化。在C語言中,char類型佔一個位元組,在Java中char類型佔2個位元組。
Java面向對象的特徵主要有封裝,關系是單一的、非多重的,一個子類只有一個父類,子類的父類又只有一個父類。C語言支持「運算符的重載」,這是它的一個很重要的多態特徵,是數據抽象和泛型編程的利器。它允許直接對對象進行四則運算,正像基本數據類型那樣Java不支持這種多態機制,也是為降低復雜性。Jvav可以支持方法重載和重寫,所謂重載就是一個類具備多個相同屬性行為;重寫就是在繼承關系中父類的行為在不同的子類上有不同的實現。
在Java中比C語言多了一些修飾符,如訪問修飾符Public(公共的)、Private (私有的)、Protected (受保護的)、默認。
Java有super關鍵字,指代父類對象,通常被用於調用父類的構造方法或一般方法 C語言 則沒有super關鍵字,兩者都有this,指代當前對象。
在Java中,除了static、final、private是靜態綁定以外,所有方法一律按動態綁定處理。Java中可以將類組織起來用Package打包,而C語言沒有。
所以JAVA更實用於開發東西,因為JAVA面向對象,和我們的思維很相似,所以開發起來就簡單些,而C語言是面向過程,就和我們的思維方式有著差異,開發就很少了。而且很難。但因為C語言能夠直接操作硬體,所以在一些嵌入式系統中,C語言是使用最廣泛的語言。
聲明:以上部分內容來源網路,作為補充。這篇文章並非說Java與c語言誰好誰壞,語言沒有好壞之分,而是要學會利用它們不同的特性來發揮最大化的效果。