當前位置:首頁 » 編程語言 » c和java的區別

c和java的區別

發布時間: 2022-04-01 13:36:24

① C與java的區別

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有什麼區別

區別如下:

1、設計思路不同:C語言是面向過程的語言,執行效率高;Java是面向對象的語言,執行效率比C語言低;

2、通用性不同:C語言不能跨平台;java可以跨平台直接移植,只要有安裝Java虛擬機(JVM)就可以了;

3、語法不同:

(1)、基本數據類型不同:

c語言是int short long char float double 還有一些特殊類型 結構體,指針,聯合體等,數組,字元串 ;

java 是byte int short long float double char boolean ,而且c語言的基本類型的位數和操作系統和機器相關,而java 是固定的;

(2)、文件組織方式不一樣:c語言會把全局變數和方法的聲明,放在一個文件裡面,叫做頭文件,而java 是以類來組織文件的;

4、應用領域不同:C語言主要用於驅動開發、操作系統、內核開發,嵌入式(單片機)、交換機、路由器等網路設備的開發;java主要是企業應用開發,包括伺服器端開發、嵌入式領域、大數據技術、網站領域等。

③ C語言和JAVA的區別

C語言和JAVA,是兩種語言,無所謂好壞。
C更低級,更簡單,是面向過程的,執行效率高,通常使用在與硬體聯系緊密的場合,主要用是
嵌入式系統開發
方面,比如實現各種移動設備(手機、PDA、汽車。。。)的智能化。
java更高級,更復雜,是面向對象的,執行效率比c低,主要使用在
WEB編程
領域
,比如去編一個大型的網站什麼的。

④ 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語言要容易些。

⑤ 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

⑥ c c++ java的區別

C++就是「帶類的C」,最大區別就在於,C++是面向對象的,面C是面向過程的。定義一個類,也就是定義一類對象。可以用這個類去定義對象的實例。每類對象有自己的屬性和方法,方法就像C中的函數的作用。只不過是針對某一特定的對象,而C中的函數可以在任何過程調用。
C是最古老的語言,至少有30年的歷史了,一直到現在它仍然是運行效率最高的高級語言,隨著面向對象思想的出現,與C兼容的C++出現了,並且和C一樣,在各種覺平台上都有相應的編譯器,之後,才出現了Java,它是一種純面向對象的靜態語言,語法與C類似,但拋棄了C++中令人詬病的復雜設計而大受歡迎。再後來,出現了C#語言,它是微軟掛牛頭賣狗肉的產品,打著C的名號抄襲Java,初衷是爭奪Java的伺服器端編程的市場,現在的ASP.net就是以C#為核心的一個開發體系。

總的來說C/C++在工業開發包括硬體驅動領域依然是龍頭老大,C++也占據了桌面軟體市場的主要份額,至於伺服器端編程(也是就企業應用開發)Java的地位不可撼動

⑦ Java和C + +有什麼區別

差別很大,c是典型面向過程的編程語言,java是完全面向對象的編程語言。

⑧ 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強迫開發人員把所有例行程序包括在類中,事實上,用方法實現例行程序可激勵開發人員更好地組織編碼。

引用前輩的分析,希望能幫到你!

⑨ c和java的區別是什麼

1.屬性:
java中定義和訪問均要用get和set方法,可以不成對出現。
c#中是真正的屬性,定義時get和set必須同時出現,房問時用.號即可。不用 get,set
2.對象索引
就是對象數組
public Story this [int index] {

3.C#中,不用任何范圍修飾符時,默認的是protect,因而不能在類外被訪問.
4.因為JAVA規定,在一個文件中只能有一個public類,而且這個類的名稱必須與文 件名一模一樣,這是一個區別
5.在C#中,它是以Main方法來定位入口的.如果一個程序中沒有一個名為Main的方 法,就會出"找不到入口的錯誤".不要把Main寫成main喲
6.C#預定義的簡單數據類型比Java多。例如,C#有unit,即無符號整數
7.忘掉Java中的static final修飾符。在C#中,常量可以用const關鍵詞聲明
C#的設計者還增加了readonly關鍵詞,readonly域只能通過初始化器或類的構造函 數設置
8.公用類的入口點:c#是可以對Main進行重載(java中是main),允許有int返回值 和空參數的Main
9.在Java中,switch語句只能處理整數。但C#中的switch語句不同,它還能夠處 理字元變數。請考慮下面用switch語句處理字元串變數的C#代碼
10.C#沒有>>>移位操作符
11.goto關鍵詞:
Java不用goto關鍵詞。在C#中,goto允許你轉到指定的標簽。不過,C#以特別謹 慎的態度對待goto,比如它不允許goto轉入到語句塊的內部。在Java中,你可以 用帶標簽的語句加上break或continue取代C#中的goto。

⑩ javac與java的區別

javac用來編譯java文件,java用來執行。
1,javac命令用來編譯java文件,例如編寫一個Test.java文件,使用javac Test.java可以執行編譯操作,將生成一個Test.class文件。

2,java命令可以執行生成的class文件,使用java Test可以執行編寫的代碼。

熱點內容
冗餘壓縮發 發布:2025-01-17 21:59:17 瀏覽:931
whatsappandroid 發布:2025-01-17 21:59:16 瀏覽:944
iptables限制ip訪問 發布:2025-01-17 21:38:01 瀏覽:174
易拉罐壓縮機 發布:2025-01-17 21:25:35 瀏覽:924
在c語言是什麼意思啊 發布:2025-01-17 21:21:02 瀏覽:516
re0腳本 發布:2025-01-17 21:13:34 瀏覽:305
甜蜜家園密碼箱有什麼用 發布:2025-01-17 21:07:28 瀏覽:48
有教少兒編程 發布:2025-01-17 20:55:37 瀏覽:37
直播背腳本 發布:2025-01-17 20:50:18 瀏覽:410
ftp移動文件的mv命令 發布:2025-01-17 20:45:53 瀏覽:405