Ⅰ java和C語言的區別
C語言是經典的面向過程的編程語言,編程入門一般都學C語言以了解編程以及鍛煉邏輯思維能力,在一些跟硬體比較緊密的編程中也經常用到。\x0d\x0a\x0d\x0aC++是在C語言的棚睜基礎上加入了面向對象的概念,成為混合型面向對象碼和梁語遲運言,功能強大,但難度也大。\x0d\x0a\x0d\x0aJava是在C++的基礎上進行改進的,摒棄了一些C++的不足之處,語法跟C++很像,它是運行在Java虛擬機上,所以可以跨平台,一處編譯,到處執行。\x0d\x0a\x0d\x0a編程都是易學難精,哪個都好學,哪個又都不好學。都有很好的發展前景,就看是什麼方向了。底層的C、桌面應用程序、游戲等等C++、嵌入式,網頁,Java。
Ⅱ Java和C的區別
Java和C都是指令式語言(Imperative Language),不同的是Java有面向對象(OO)成分在裡面,而C是完全面向過程的,C的高級版本C++、C#支持面向對象。
另外一個不同是,Java跨平台,既不同的操作系統都可以通過JVM來解釋Java程序,而C、C++、C#則是與平台相關的,有些指令只在某些操作系統中才能執行。具體原因是,Java是解釋型語言,所有代碼都會翻譯成統一的、與系統無關的bytecode,然後放到JVM上運行;而C是編譯式語言,代碼要先通過編譯器轉換成與系統相關的中間代碼,然後才能運行。
再一個不同是,Java不支持系統調用,既無法與操作系統進行交互,這是由它跨平台的特點決定的,而C則可以調用系統中的指令,如fork()。這也就是為什麼Java中只有線程(Thread)概念而沒有進程(Process)概念,而C兩者均有。
再者,Java無法對內存進行控制,而C則可以通過指針對內存進行人為分配。
還有一點,Java有Gabbage Collection機制,可以自動回收不再使用的空間,而C則要用free()函數釋放空間。
Ⅲ Java和C語言相比,最大的不同是什麼
關於JAVA語言與C語言,兩大主流程序開發語言,核心區別還是很大的,主要體現在以下幾個方面:
就比如,你玩C語言,就相當於,你為你對象做一件事,非得把整件事來龍去脈給她來一遍,才能博得伊人歡笑。
而且,編程時越是接近計算機的底層硬體,編程需要考慮的細節就越多。C語言就是接近計算機底層的硬體的編程語言,所以用C語言編程時細節真是考慮的很多。
總之,個人覺得JAVA要更簡單一點,但是C更接近底層,所以一般的開發JAVA就可以了,如果需要系統級開發的話,還是C好一點。
Ⅳ 詳解Java和C語言的區別在哪裡
1Java與C語言各自的優勢
C語言是面向過程的語言,執行效率高;Java是面向對象的語言,執行效率比C語言低。
C語言最關鍵的是比Java多了指針,這也說明了Java的健壯性,還有Java的多線程機制使程序可以並行運行,Java程序多用於網路。
C語言的安全性不如Java,C語言沒有Java的垃圾回收機制,申請的空間要手動釋放。
Java的通用性好,可以跨平台直接移植,只要有安裝Java虛擬機(JVM)就可以了。
2Java和C語言誰的通用性會比較好
在速度上,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個位元組。
3Java和C語言各自的特徵
Java面向對象的特徵主要有封裝,繼承,多態。類的繼承關系是單一的、非多重的,一個子類只有一個父類,子類的父類又只有一個父類。C語言支持「運算符的重載」,這是它的一個很重要的多態特徵,是數據抽象和泛型編程的利器。它允許直接對對象進行四則運算,正像基本數據類型那樣Java不支持這種多態機制,也是為降低復雜性。
Java可以支持方法重載和重寫,所謂重載就是一個類具備多個相同屬性行為;重寫就是在繼承關系中父類的行為在不同的子類上有不同的實現。在Java中比C語言多了一些修飾符,如訪問修飾符Public(公共的)、Private(私有的)、Protected(受保護的)、默認。
Java有super關鍵字,指代父類對象,通常被用於調用父類的構造方法或一般方法C語言則沒有super關鍵字,兩者都有this,指代當前對象。
在Java中,除了static、final、private是靜態綁定以外,所有方法一律按動態綁定處理。Java中可以將類組織起來用Package打包,而C語言沒有。
Ⅳ Java和c語言的區別
java和c語言兩者的區別如下:
1、C語言是面向過程的語言,執行效率高;Java是面向對象的語言,執行效率比C語言低;
2、C語言的安全性不如Java,C語言沒有Java的垃圾回收機制,申請的空間要手動釋放。Java的通用性好,可以跨平台直接移植,只要有安裝Java虛擬機(JVM)就可以了。
3、在速度上,C語言編寫的程序要優於Java
4、C語言注重的是演算法,但是Java卻不一樣,想用的時候導包就可以了。C語言的演算法很重要,但是Java中的演算法沒有C語言那麼復雜。
5、Java採用Unicode字元集,C語言通常採用的是ASCII字元集,A—65,a—97。
6、C語言的變數可以不進行初始化,但Java的變數要進行初始化。
Ⅵ c語言與java語言的去區別
C語言是面向過程的語言,而JAVA是面向對象的語言。java相對於c語言而言,去掉了指針等容易出錯的功能, 具體如下: Java沒有預處理命令. Java用static final來取代C中的常量定義. Java沒有全局變數. Java基本數據類型的size是確定的,而C中基本數據類型..
Ⅶ Java與C語言兩者有什麼區別
Java語言是從C語言發展而來的,保留了C語言中的大部分內容,並且在編程方面和C語言有很大的相似。Java語言具有自己的特徵,Java語言中的語句更加清晰,規模小,非常容易學習。那麼Java語言和C語言有那是不同的地方呢?下面電腦培訓為大家介紹Java語言與C語言的區別。
1、指針
在Java編程中是沒有指針的,在使用Java的過程中,能夠很好的避免指針出現錯誤導致系統崩潰的情況。在C語言中,指針的使用是非常重要的,如果指針操作存在問題,編程中會導致錯誤的產生。Java中不需要使用指針,這樣能夠保證Java程序的安全性和穩定性。
2、多重繼承
C語言具有多重繼承的特點,在使用中允許進行父類派生一個子類。所以說一個類裡面可以繼承多個父類。這種多重繼承功能是非常強大的,但是在使用過程中過於復雜,容易在編程中出現錯誤,導致編程變得更加不容易。IT培訓發現Java不具有多重繼承功能,但是一個類也是可以實現多個介面,所以Java不僅具有C語言同樣的功能,還能避免錯誤的產生。
3、數據類型
Java語言是屬於面向對象的語言,所有的方法和數據都需要保證類的一部分。在基本數據類型以外,數據主要用作對象數據,每個對象都能夠表現出自己的特色。C語言主要是將函數和變數定於為全局,然後進行調用函數和變數,這樣反而會增加程序的負擔。北大青鳥雲南計算機學院認為Java還刪除了C語言中的結構和聯合,這樣能夠使編輯變得更加簡單。
4、自動內存管理
在Java程序中,所有的對象都使用new運算符構建得堆棧上,這樣的操作和C語言有很大的相似處。Java能夠進行垃圾收集操作,不需要程序員進行手動刪除。在Java語言中,對象不需要進行使用,並且不需要使用內存回收器,只需要使用其標簽進行刪除即可。北大青鳥雲南嘉薈校區官網建議垃圾收集器在後台運行,在空閑時間進行工作,C語言需要進行釋放內存資源,這反而增加了程序員的工作負擔。