① 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語言與java語言的去區別
C語言是面向過程的語言,而JAVA是面向對象的語言。java相對於c語言而言,去掉了指針等容易出錯的功能, 具體如下: Java沒有預處理命令. Java用static final來取代C中的常量定義. Java沒有全局變數. Java基本數據類型的size是確定的,而C中基本數據類型..
③ c語言和java的區別
從概念上看,C語言是一門面向過程、抽象化的通用程序設計語言;Java是一門面向對象編程語言,而Java語言是從C語言衍生而來,它吸收了C++語言的各種優點,並且摒棄了C++里難以理解的多繼承、指針等概念。從概念可以看出C語言相當於Java的基礎語言,學完C再學Java會更容易。
從應用領域上,C語言和Java的應用領域幾乎沒有重合。因為隨著這幾年Java、web、PHP等語言的出現,它們憑借比C更簡潔的、更安全的性能快速崛起,搶佔了大量的市場。目前因為Java有完善的框架,在多線程、高並發方面有著較好的穩定性,所以Java主要應用於企業級應用開發、大型系統開發等領域。而C語言由於編程的復雜性,退守到了系統級別語言,而且因為想要系統級軟體可以發揮出機器的功能,它的底層核心就需要用C/C++來編寫,所以C語言主要應用於軟體工業。
④ c語言和java的區別
相同的地方:
1、語法類似:
由於Java可以算是從C++發展而來的,因此Java與C語言的語法比較類似
2、編程的熟練程度就是對語言程序庫的掌握程度:
從某種程度上來說,編程語言都是由語法和相應的程序庫所構成,Java有自身的類庫,C語言則有標准庫。所謂的編程,就是使用與語法來調用和組合程序庫中的函數。
不同的地方:
1、內存管理
在Java中,基本不用考慮內存的問題,如果想用一個對象,new一個就可以,這個過程的背後則是JRE為對象分類的一定內存,當JRE發現你不再使用這個對象的時候,他就會自動回收內存,也就是說你只管借東西,不用管歸還,因為與有人當你的跟班,在你不使用的時候就把東西歸還了,不過這個過程還是有的,只不過是JRE作的而已。
但是C則不同,如果你想用,你可以用malloc之類的方法申請內存,當你使用完了,因為沒有跟班的,你需要自己把這塊內存歸還回去,也就是調用free方法來完成這個任務。由於需要顯式的歸還內存,因此當一個函數需要將一塊內存返回給調用者的時候,問題就比較復雜了,不如面向對象和具有內存回收功能的Java那麼直觀了。對於這個問題,在C語言中,有幾種解決方案:
(1)
在調用者中先分配好內存,作為參數傳入到被調用的函數中
(2)
在被調用的函數中分配,使用完後在調用者中釋放
(3)
在被調用函數中使用static變數,可以將該變數返回
2、面向對象
Java的面向對象的特點很明顯,而C則是一個地道的結構化語言。
Java中有一個字元串類String,
通過調用
String.length()就可以知道字元串的長度,但是在C語言中,則需要調用函數strlen(str)來得到字元串(字元數組)的長度。由於C不是面向對象的語言,也就沒有this的概念,因此當使用一個與某個「東西」相關的函數時,就需要不厭其煩的將代表這個「東西」的變數作為參數傳遞進去。
3、名稱空間
Java通過包(package)來實現名稱空間,在C語言中,所有的函數都處於同一名稱空間,也就是沒有名稱空間,因此就會很多程序提供的api介面函數都有一個前綴,例如MYSQL的mysql_init(),
mysql_real_connect(),
mysql_real_query()等函數名稱前面的mysql_。
給你找的資料。
希望對你有所幫助。。
⑤ C語言和JAVA有什麼區別
簡單來說:
一個面向過程,一個面向對象
2.一個不可移植,一個是可移植
3.一個有可直接操作內存,一個不可直接操作內存
4.一個垃圾回收要程序員手動進行,一個自動垃圾回收。
5.一個是跨平台,一個不跨平台
往復雜說:
從概念上看,C語言是一門面向過程、抽象化的通用程序設計語言;Java是一門面向對象編程語言,而Java語言是從C語言衍生而來,它吸收了C++語言的各種優點,並且摒棄了C++里難以理解的多繼承、指針等概念。從概念可以看出C語言相當於Java的基礎語言,學完C再學Java會更容易。
從應用領域上,C語言和Java的應用領域幾乎沒有重合。因為隨著這幾年Java、web、PHP等語言的出現,它們憑借比C更簡潔的、更安全的性能快速崛起,搶佔了大量的市場。目前因為Java有完善的框架,在多線程、高並發方面有著較好的穩定性,所以Java主要應用於企業級應用開發、大型系統開發等領域。而C語言由於編程的復雜性,退守到了系統級別語言,而且因為想要系統級軟體可以發揮出機器的功能,它的底層核心就需要用C/C++來編寫,所以C語言主要應用於軟體工業。
從應用領域看學Java比學C語言前景會更好,因為Java的應用領域比較廣,各大公司更多也是招聘Java開發人才。不過你還忽略了一點就是學習難度,Java的學習難度比C語言要大一些,學習門檻比C語言也高。所以如果你本科以上學歷,小編建議你學習Java,而如果你0基礎、學歷也高的話可以選擇學C語言,學完C語言後如果你還想學Java可以再繼續學Java,學完C再學Java更簡單。