Java和C有什麼區別,應該學習Java還是C
java室友c 發展而來,與c 有類似之處,不過java更加清晰、規模較小,容易學習。經過高手們的加工,java從根本上解決了c 的固有缺陷,成為了一種新的完全物件導向的語言。
java與c 類似,但也存在多處不同之處,當然,如果有c基礎,學習java會更加容易。
多重繼承
C 支援多重繼承,它允許多父類派生一個子類。也就是說,一個類允許繼承多個父類。儘管多重繼承功能很強,但使用複雜,而且會引起許多麻煩,編譯程式實現它也很不容易。所以 Java 不支援多重繼承,但允許一個類實現多個介面。可見,Java 既實現了 C 多重繼承的功能,又避免了 C 的許多缺陷。
指標
Java 沒有指標的概念,從而有效地防止了在 C/C 語言中,容易出現的指標操作失誤(如指標懸空所造成的系統崩潰)。在 C/C 中,指標操作記憶體時,經常會出現錯誤。在Java 中沒有指標,更有利於 Java 程式的安全。
如果你想學習Java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面可以學習和交流,也有資料可以下載。
資料型別
Java 是完全物件導向的語言,所有方法和資料都必須是類的一部分。除了基本資料型別之外,其餘型別的資料都作為物件型資料。例如物件型資料包括字串和陣列。類將資料和方法結合起來,把它們封裝在其中,這樣每個物件都可實現具有自己特點的行為。而 C 將函式和變數定義為全域性的,然後再來呼叫這些函式和變數,從而增加了程式的負擔。此外,Java 還取消了 C/C 中的結構和聯合,使編譯程式更簡潔。
如果你想學習C/C++可以來這個群,首先是三三零,中間是八五九,最後是七六六,裡面可以學習和交流也有資料可以下載。
Java 不支援預設函式引數,而 C 支援。
在 C 中,程式碼組織在函式中,函式可以訪問程式的全域性變數。C 增加了類,提供了類演算法,該演算法是與類相連的函式,C 類方法與 Java 類方法十分相似。由於 C 仍然支援 C,所以 C 程式中仍然可以使用 C 的函式,結果導致函式和方法混合使用,使得 C 程式比較混亂。
型別轉換
在 C 和 C 中,有時出現資料型別的隱含轉換,這就涉及了自動強制型別轉換問題。例如,在 C 中可將一個浮點值賦予整型變數,並去掉其尾數。Java 不支援 C 中的自動強制型別轉換,如果需要,必須由程式顯式進行強制型別轉換。
相關文章
- python和Java、C、ruby、PHP有什麼區別?PythonJavaPHP
- Java和Python是什麼?有什麼區別?JavaPython
- Java 介面和抽象類是什麼,有什麼區別Java抽象
- java和c++有什麼不同JavaC++
- C++和Java有什麼不同C++Java
- c++中&和&&有什麼區別C++
- POSIX C和ANSI C、GNU C以及ISO C有什麼區別?
- java還是C?Java
- Java(3)-POJO和Java bean的區別是什麼JavaPOJOBean
- C、C++、Java、JavaScript、PHP、Python和Ruby,主要有什麼區別?C++JavaScriptPHPPython
- 【Java面試】IO和NIO有什麼區別?Java面試
- java 和c++在編譯和執行上有什麼區別?JavaC++編譯
- Python和C語言有什麼區別?PythonC語言
- C++中vector*和vector有什麼區別C++
- C# 中的 == 和 equals()有什麼區別?C#
- Python和C語言區別是什麼?PythonC語言
- JAVA基礎是什麼?java學習有哪些階段Java
- java泛型中<?>和<T>有什麼區別?Java泛型
- 我應該直接學Swift還是Objective-C?SwiftObject
- java.util.Date和java.sql.Date有什麼區別?JavaSQL
- 【Java面試】Mybatis中#{}和${}的區別是什麼?Java面試MyBatis
- EJB和Java Beans的區別是什麼啊JavaBean
- Python和C語言有什麼區別?分析!PythonC語言
- python和c語言的區別是什麼PythonC語言
- C/C++——C和C++怎樣分配和釋放記憶體,區別是什麼?C++記憶體
- java的學習方法有哪些?Java學什麼?Java
- cookie是什麼?和session有什麼區別?CookieSession
- 優思學院|CTP和CTQ是什麼?有什麼區別?
- Java和HTML有什麼區別?哪個更重要?JavaHTML
- Java NIO和NIO.2有什麼區別? | baeldungJava
- Java中long和Long有什麼區別 (轉載)Java
- java和JavaScript究竟什麼關係,有什麼樣的區別JavaScript
- 想搞資料探勘分析,應該學習java還是python?JavaPython
- 深入探究Java中equals()和==的區別是什麼Java
- cookie和session有什麼區別?Python學習!CookieSessionPython
- 菜鳥學Java(二十)——你知道long和Long有什麼區別嗎?Java
- C++和java多型的區別C++Java多型
- java軟體工程師和 java程式設計師有什麼區別Java軟體工程工程師程式設計師