c語言與java的區別
1、JAVA中的內存分配是動態的,程序員不必關心內存管理方面的問題
2、JAVA是一種解釋型的語言
3、JAVA沒有指針
4、JAVA僅允許單一繼承
5、JAVA不能定義全局變數
6、JAVA不用goto語句
7、JAVA不支持宏定義
8、JAVA對每種數據類型都分配固定長度
9、JAVA中沒有頭文件
java和C最本質的區別就是, java是面向對象的語言,而C是面向過程的語言(雖然C可模擬OOP, 但它從本質來說還是面向過程的)。
而C多用於開發驅動程序,系統內核,嵌入式程序,等對速度要求比較高的程序。
它們的應用領域也不同,Java側重於游戲類等軟體,C語言側重於應用程序的編輯相比而言c語言要容易些。
2. C語言和JAVA的區別
C語言和JAVA,是兩種語言,無所謂好壞。
C更低級,更簡單,是面向過程的,執行效率高,通常使用在與硬體聯系緊密的場合,主要用是
嵌入式系統開發
方面,比如實現各種移動設備(手機、PDA、汽車。。。)的智能化。
java更高級,更復雜,是面向對象的,執行效率比c低,主要使用在
WEB編程
領域
,比如去編一個大型的網站什麼的。
3. 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強迫開發人員把所有例行程序包括在類中,事實上,用方法實現例行程序可激勵開發人員更好地組織編碼。
引用前輩的分析,希望能幫到你!
4. java 和c語言的主要區別在哪呢
代碼書寫格式不一樣
c面向過程
java面相對象
c有指針,java沒有
java有類,c沒有
java要虛擬機來解釋運行,c不需要
java有垃圾回收機制,c沒有
c更適合底層
java更適合網路
5. C語言與C++與JAVA的區別是什麼
這個問題很多人問我了,你可以在網路知道上搜索,有很多都是我敲的,並且都是最佳答案。今天我就再幫一次兄弟,不過回答保證更為精準。
這個C語言是面向過程語言,C++是混合型語言,java是面向對象語言。很多書中吧C++作為面向對象語言來講,但是實際上C++不是純種的面向對象語言。java是面向對象的代表。如果你聽說過C#的話,那麼C#是面向對象的終結。
當然這些對於初學者來說不太明了什麼是面向對象、什麼是面向過程。而我在這里解釋也會讓你更加懵懂。所以撇開什麼是面向對象什麼是面向過程,單單介紹他們實際應用區別:
C是一門非常干練的語言,一切採用函數的形式完成,你可以把所有需要的功能採用函數的形式完成,然後在主函數main中調用。學起來容易,幾乎用三兩天就可以學會。一般用來教學學習演算法,數據結構等。同樣這也造成了它的應用范圍局限在小程序中,只能是針對小規模的東西開發:比如DOS程序,嵌入式開發等。
C++是在C語言的基礎上擴展的,所以一般C++會兼容C語言庫。C++是因為用C語言開發項目中會遇到很多團隊合作問題,導致團隊的工作效率下降。在此基礎上迫切需要降低軟體開發團隊成員之間彼此的干擾性,使得每個工程人員的代碼竟可能不影響他人。最後C++便應用而生了。C++主要是其中集成了類地概念,可以將所有的東西封裝在類中,類中的私有成員不可被別人訪問,這樣就有效地解決了代碼互干擾性。
java是汲取C++的長處而誕生的,這個語言採用完全面向對象的概念,將所有的功能封裝在類中,而不像C++部分封裝。由於java採用跨平台性,使得更容易被移植,在互聯網要求多終端能夠互相訪問成為可能,這便形成了java平台今日的盛況,在互聯網方面幾乎無人可敵。
學習難易程度來講C++非常難,即使有5年工作經驗的C++工程師也未必能夠熟練應用C++,C語言易掌握,但是應用起來難度不下於C++,因為C語言幾乎是對硬體直接寫代碼,一般來說會使得代碼非常龐大,增加了開發人員的工作量。java因為封裝了很多功能,所以幾乎開發效率相當高。
6. Java和C語言有什麼區別
從概念上看,C語言是一門面向過程、抽象化的通用程序設計語言;Java是一門面向對象編程語言,而Java語言是從C語言衍生而來,它吸收了C++語言的各種優點,並且摒棄了C++里難以理解的多繼承、指針等概念。從概念可以看出C語言相當於Java的基礎語言,學完C再學Java會更容易。
從應用領域上,C語言和Java的應用領域幾乎沒有重合。因為隨著這幾年Java、web、PHP等語言的出現,它們憑借比C更簡潔的、更安全的性能快速崛起,搶佔了大量的市場。目前因為Java有完善的框架,在多線程、高並發方面有著較好的穩定性,所以Java主要應用於企業級應用開發、大型系統開發等領域。而C語言由於編程的復雜性,退守到了系統級別語言,而且因為想要系統級軟體可以發揮出機器的功能,它的底層核心就需要用C/C++來編寫,所以C語言主要應用於軟體工業。
7. c語言和java的區別
C語言是面向過程的語言,java是面向對象的編程語言,當然C#等也是面向對象的!
C語言開始確實比較容易上手,只要是讓你熟悉
選擇
循環
和順序
(if
for)
等,到最後你還是要改變思想到面向對象上,其實先學哪個後學哪個不重要,主要看你用多少心,
c語言初學的話可以用TC2.0
TC3.0
或者
winTC
,如果學java的話建議使用記事本練習基礎,推薦使用EmEditor
最好有英文基礎
因為java的開發工具基本都是英文的,當然,也可以漢化,不過基本沒人用,我
英文一點不好一樣用英文的。
下面說一下發展前景,c有幾個方向
C
C++
C#
其中C是最難的,也是最賺錢的主要從事底層開發,比如驅動....c++主要用於大型桌面客戶端
比如網路游戲。。。。
c#
也用字桌面應用程序
和
web程序中
asp.net就是用c#
的
我知道的是這些
但是請注意ASP.NET的開發工具是收費的
java也分幾個方向
java因為有移植性好的優勢
所以
被用在很多地方,比如手機軟體,
javaSE可以做簡單的java程序
javaME是用來開發手機應用程序
比如手機游戲,
javaEE是用來做WEB程序的
一些大型網站
java和C的最大區別
我覺得就是java是開源的(免費)
c是收費的(不開源)
java的所有核心代碼你都是可以看到的,而C的
比如C#底層的代碼你根本就不可能看到。
當然
不能說
java
和
C
哪個好一些,因為他們各有優缺點!!!
這個就要每個人在使用的過程中自己來評論了!當然我比較傾向於java
8. java和c語言有什麼區別和聯系
1、在繼承中的區別 C語言是多線繼承,比如:小轎車和貨車都繼承了汽車類,奧迪2000是繼承小轎車的,東風大卡車是繼承貨車,這樣奧迪2000也可以繼承貨車,東風大卡車也可以繼承小轎車。 JAVA是單繼承的,比如:小轎車和貨車都繼承了汽車類,奧迪2000是繼承小轎車的,東風大卡車是繼承貨車,這樣奧迪2000就不能繼承貨車,當然東風大卡車也不能繼承小轎車。
2、在動態、靜態綁定中的區別 在C語言中,為了允許運行時動態決定哪個函數被調用,一個函數必須用virtual修飾。virtual關鍵字被自動繼承,用以支持多態;凡是沒有用virtual修飾的成員函數(包括static)都是靜態綁定的,即在編譯時決定調用哪個版本 而在Java中,除了static、final、private是靜態綁定以外,所有方法一律按動態綁定處理。
3、在初始值的區別 在C語言中,是可以不初始化使用的 而在JAVA中,是必須初始化值的。
4、在抽象方法或抽象類的區別 C語言的對等語法是「純虛函數」和「抽象類」 Java使用abstract關鍵字修飾抽象方法或抽象類,final類不能被繼承。
9. c語言與java語言的去區別
C語言是面向過程的語言,而JAVA是面向對象的語言。java相對於c語言而言,去掉了指針等容易出錯的功能, 具體如下: Java沒有預處理命令. Java用static final來取代C中的常量定義. Java沒有全局變數. Java基本數據類型的size是確定的,而C中基本數據類型..