Ⅰ java語言和C語言有什麼不同
打個比方 就好比要想學好英語得先學英文字母 再繼續學語法時態一樣 毫無疑問是先C 一般都是C精通了之後再繼續深造java、C++或者其他的 所以最好還是先把C學完了 我現在也再學C 是看視頻學的 我現在正在看的是夏老師的 感覺還不錯 比較適合像我這樣0基礎的 這個比較吸引我的地方就是講的一聽就能聽懂 而且很多概念都有形象的比喻 例如把變數比如成盒子 把變數賦值比喻成往盒子里放東西等等很多這樣的比喻 感覺特別容易理解
Ⅱ 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的區別與各自的優勢:(c是面向過程的,java是面向對象的)
1.語言背景:
C語言是在單機時代應用非常廣泛,它融合了高級語言的簡單易用和匯編語言的執行效率。而Java是在研究電子消費產品開發平台和互聯網應用的基礎上實現的,它的許多語言特性也是從c語言那裡沿用和發展,並且使面向對象更加自然和完善(如安全性和代碼的移動性)。
2.語言跨平台:
C語言不可以跨平台,JAVA 是不怕這一點的,因為Java可以跨平台,在windows 和 unix 等系統上都可以很好的運行。
3.指針管理:
指針是c語言最大的優點,它可以使用戶幾乎可以訪問計算機的所有內存資源和其他部分資源(就是指那裡打那裡)。同時也是c語言程序最難掌握和調試的問題,並且給系統的安全性和穩定性帶來很大的困難。 而java中沒有指針的概念,盡管也有數組和對象的引用的概念,但它的管理全部交給系統管理,這樣限制了用戶的資源的訪問,但是也給java系統帶來安全性和穩定性。JAVA語言讓編程者無法找到指針來直接訪問內存無指針,並且增添了自動的內存管理功能,從而有效地防止了c語言中指針操作失誤,如野指針所造成的系統崩潰。但也不是說JAVA沒有指針,虛擬機內部還是使用了指針,只是外人不得使用而已。這有利於Java程序的安全
4.封裝
在java中引入了package的概念,使面向對象和面向組件開發更加方便,而在c語言中沒有package概念,需要其他方式來實現。Java都能夠實現面向對象思想(封裝,繼乘,多態)。而由於c語言為了照顧大量的C語言使用者,而兼容了C,使得自身僅僅成為了帶類的C語言,多多少少影響了其面向對象的徹底性!JAVA則是完全的面向對象語言,它句法更清晰,規模更小,更易學。它是在對多種程序設計語言進行了深入細致研究的基礎上,據棄了其他語言的不足之處,從根本上解決了c語言的固有缺陷。
5.數據類型及類
Java是完全面向對象的語言,所有函數和變數部必須是類的一部分。除了基本數據類型之外,其餘的都作為類對象,包括數組。對象將數據和方法結合起來,把它們封裝在類中,這樣每個對象都可實現自己的特點和行為。而c語言允許將函數和變數定義為全局的。
6.自動內存管理
Java程序中所有的對象都是用new操作符建立在內存堆棧上, Java自動進行無需內存回收操作,不需要程序員進行刪除。而c語言中必須由程序貝釋放內存資源,增加了程序設計者的負扔。Java中當一個對象不被再用到時,無用內存回收器將給它加上標簽以示刪除。JAVA里無用內存回收程序是以線程方式在後台運行的,利用空閑時間工作。
7. 字元串:
C語言不支持字元串變數,在c語言程序中使用Null終止符代表字元串的結束,在Java中字元串是用類對象(strinR和stringBuffer)來實現的,這些類對象是Java語言的核心!
Java沒有函數,作為一個比c語言更純的面向對象的語言,Java強迫開發人員把所有例行程序包括在類中,事實上,用方法實現例行程序可激勵開發人員更好地組織編碼。
我覺得這篇文章寫的很好,就摘錄給你看了,希望可以幫助到樓主