學Java要先學C語言嗎
可以不要,Java是一門面向對象的語言而C是一門面向過程的語言,有些人之所以選擇先學C再學Java,其主要是因為Java和C有許多語法相似的地方,如果C語言入門,學java就會簡單一點。
Java和C的區(qū)別
Java和C都是指令式語言(Imperative Language),不同的是Java有面向對象(OO)成分在里面,而C是完全面向過程的,C的高級版本C++、C#支持面向對象。
另外一個不同是,Java跨平臺,既不同的操作系統都可以通過JVM來解釋Java程序,而C、C++、C#則是與平臺相關的,有些指令只在某些操作系統中才能執(zhí)行。具體原因是,Java是解釋型語言,所有代碼都會翻譯成統一的、與系統無關的bytecode,然后放到JVM上運行;而C是編譯式語言,代碼要先通過編譯器轉換成與系統相關的中間代碼,然后才能運行。
再一個不同是,Java不支持系統調用,既無法與操作系統進行交互,這是由它跨平臺的特點決定的,而C則可以調用系統中的指令,如fork()。這也就是為什么Java中只有線程(Thread)概念而沒有進程(Process)概念,而C兩者均有。
再者,Java無法對內存進行控制,而C則可以通過指針對內存進行人為分配。
還有一點,Java有Gabbage Collection機制,可以自動回收不再使用的空間,而C則要用free()函數釋放空間。
推薦教程:《Java教程》