導航:首頁 > 源碼編譯 > 演算法java和c

演算法java和c

發布時間:2022-06-01 04:46:53

⑴ 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語言是面向過程語言,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因為封裝了很多功能,所以幾乎開發效率相當高

⑶ Java和c語言哪個更好學一些呢

C與Java從編程思想上來說完全不同.
Java是純面向對象語言,用虛擬機解釋執行,速度非常慢,大約是同等C語言程序速度的1/60。好處是程序執行和操作系統無關。非常適合在網路上使用。
C是面向過程的語言,編譯出的程序和硬體,操作系統相關。程序運行效率非常高。好的C程序最多比同樣的匯編程序慢10%.
兩種語言入門都很簡單。要想用好還是很費功夫的。
Java程序員都是做網路工作的,年薪可到10萬美金以上。
C程序員一般是做硬體程序的,比如:PDA,手機,MP3等電子產品的開發。收入也不錯。
最好兩種語言都學。因為他們完全不同,不會互相干擾。
學C容易上手,最要是開發工具比較好用,便於實踐。
學Java缺少良好的開發工具,熟悉,配置開發環境要花很長時間。如果是沒全面學過編程的人,上手還是很困難的。
C++屬於混合型的編程語言。有Java的特點,也有C的特點。最靈活,功能也最強。要學好花的功夫也越多。
C#和Java一樣,是純面向對象的語言。但不是解釋執行的。
建議先學C,學透澈。再學Java,入門即可,了解面向對象的思路。最後學C++,用來實戰。
我就是這么學的,3種語言都會。

⑷ Java和C語言有什麼區別

從概念上看,C語言是一門面向過程、抽象化的通用程序設計語言;Java是一門面向對象編程語言,而Java語言是從C語言衍生而來,它吸收了C++語言的各種優點,並且摒棄了C++里難以理解的多繼承、指針等概念。從概念可以看出C語言相當於Java的基礎語言,學完C再學Java會更容易。

從應用領域上,C語言和Java的應用領域幾乎沒有重合。因為隨著這幾年Java、web、PHP等語言的出現,它們憑借比C更簡潔的、更安全的性能快速崛起,搶佔了大量的市場。目前因為Java有完善的框架,在多線程、高並發方面有著較好的穩定性,所以Java主要應用於企業級應用開發、大型系統開發等領域。而C語言由於編程的復雜性,退守到了系統級別語言,而且因為想要系統級軟體可以發揮出機器的功能,它的底層核心就需要用C/C++來編寫,所以C語言主要應用於軟體工業。

⑸ 詳細的比較一下Java和C/C++的優劣

Java 是由 C++發展而來的,保留了 C++的大部分內容,其編程方式類似於 C++。但 Java 的句法更清晰、規模更小、更易學。Sun 公司對多種程序設計語言進行了深入研究,並摒棄了其他語言的不足之處,最終退出了 Java。正是這樣,Java 從根本上解決了 C++的固有缺陷,形成了一種新的完全面向對象的語言。Java 和 C/C++的相似之處多於不同之處,有 C 基礎的讀者,學習 Java 會更容易。相比較而言,Java 的編程環境更為簡單。

⑹ Java和C + +有什麼區別

差別很大,c是典型面向過程的編程語言,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。

12.int[] x = { 0, 1, 2, 3 };
int x[] = { 0, 1, 2, 3 };
但在C#中,只有第一行代碼合法,[]不能放到變數名字之後。

13.與Java不同的是,C#允許為名稱空間或者名稱空間中的類指定別名:
using TheConsole = System.Console;

14.在Java中,包的名字同時也是實際存在的實體,它決定了放置.java文件的目錄結構。在C#中,物理的包和邏輯的名稱之間是完全分離的
.NET中包的實體稱為程序集(Assembly)。每一個程序集包含一個manifest結構。manifest列舉程序集所包含的文件,控制哪些類型和資源被顯露到程序集之外,並把對這些類型和資源的引用映射到包含這些類型與資源的文件。程序集是自包含的,一個程序集可以放置到單一的文件之內,也可以分割成多個文件。.NET的這種封裝機制解決了DLL文件所面臨的問題,即臭名昭著的DLL Hell問題。

15.在Java中,java.lang包是默認的包,C#中不存在默認的包

16.C#中的訪問修飾符與Java中的基本對應,但多出了一個internal。簡而言之,C#有5種類型的可訪問性,如下所示:

public:成員可以從任何代碼訪問。
protected:成員只能從派生類訪問。
internal:成員只能從同一程序集的內部訪問。
protected internal:成員只能從同一程序集內的派生類訪問。
private:成員只能在當前類的內部訪問。

17.由於C#中不存在final關鍵詞,如果想要某個類不再被派生,你可以使用sealed關鍵詞

18.與Java不同,C#中的介面不能包含域(Field)。
另外還要注意,在C#中,介面內的所有方法默認都是公用方法。在Java中,方法聲明可以帶有public修飾符(即使這並非必要),但在C#中,顯式為介面的方法指定public修飾符是非法的。例如,下面的C#介面將產生一個編譯錯誤。

19.C#中的is操作符與Java中的instanceof操作符一樣,兩者都可以用來測試某個對象的實例是否屬於特定的類型。在Java中沒有與C#中的as操作符等價的操作符。as操作符與is操作符非常相似,但它更富有「進取心」:如果類型正確的話,as操作符會嘗試把被測試的對象引用轉換成目標類型;否則,它把變數引用設置成null。

20.C#仍舊保留了C++的內存手工管理方法,它適合在速度極端重要的場合使用,而在Java中這是不允許的

21.在C#中,所有的異常都從一個名為Exception的類派生

22.枚舉器即enum類型(java無),把它作為一個變數值的類型使用,從而把變數可能的取值范圍限制為枚舉器中出現的值。

23.結構(Struct)與類很相似,而結構是一種值類型,它存儲在棧中或者是嵌入式的,結構可以實現介面,可以象類一樣擁有成員,但結構不支持繼承

24.屬性聲明語法的第一部分與域聲明很相似,第二部分包括一個set過程和/或一個get過程

25.傳值方式:
在java中簡單數據類型的值傳參時,都以傳值方式;
在c#中如果加ref則會以引用的方式傳值(方法內部改變該參數,則外部變數一起跟著變);
加out與ref基本相同,但out不要求參數一定要初始化.

26.c#保留了指針。unsafe

27.代理:代理(delegate)可以看作C++或者其他語言中的函數指針
代理用來封裝可調用方法。你可以在類裡面編寫方法並在該方法上創建代理,此後這個代理就可以被傳遞到第二個方法。這樣,第二個方法就可以調用第一個方法。
代理是從公共基類System.Delegate派生的引用類型。定義和使用代理包括三個步驟:聲明,創建實例,調用。代理用delegate聲明語法聲明。

⑻ 寫演算法題為什麼大多用C語言而不用java

首先c語言的效率比較高,執行起來比較快
其次演算法有不少需要對浮點的數據做定點的截斷,這個用c語言比較通用。同時代碼量相對來說不大。
另外不少演算法在晶元上面去實現,很多晶元驗證環境同時支持c語言的參考模型。

⑼ 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()函數釋放空間。

⑽ 演算法對c和java來說有區別嗎

當然不會有什麼區別,C中1 + 1 = 2,Java中1 + 1 肯定不會等於3 。就如英語和普通話說同一件物品,只是發音不同而已。
只是C在使用編寫函數時,你必須要考慮到變數的初始化長度、何時銷毀等等。而Java完全靠垃圾回收器來處理了。

閱讀全文

與演算法java和c相關的資料

熱點內容
程序員那麼可愛小說結局 瀏覽:862
zenity命令 瀏覽:564
監禁風暴哪個app有 瀏覽:865
程序員的愛心是什麼 瀏覽:591
java中對字元串排序 瀏覽:290
單片機用數模轉換生成三角波 瀏覽:634
外網怎麼登陸伺服器地址 瀏覽:133
什麼人要懂編譯原理 瀏覽:150
源碼改單 瀏覽:712
pdfzip 瀏覽:875
壓縮空氣25兆帕會變成液體嗎 瀏覽:50
linux測試伺服器性能 瀏覽:950
dlp硬碟加密 瀏覽:361
應用加密裡面打不開 瀏覽:857
基於單片機的超聲波測距儀的設計 瀏覽:741
xp自動備份指定文件夾 瀏覽:662
我的世界伺服器如何讓世界平坦 瀏覽:170
伺服器和電腦如何共享 瀏覽:689
程序員早期症狀 瀏覽:573
學小學生編程哪裡學 瀏覽:951