隨筆-208  評論-469  文章-30  trackbacks-0
          不知道從什么時候起喜歡JAVA的,從JDK1.4到現在1.6,從最基本的main()開始到現在從事J2EE的開發,從ASP做WEB程序到現在用JAVA獨立開發軟件,回頭看一下,光陰已走,路還是這條路。
          朋友偶爾問我C語言方面的東西,自己從來沒有系統學過,有些問題一知半解,到最近幾天拿著高中買的數據結構<C語言版>看,似乎愛上了C,程序貴在相通,萬變不離其宗,上手很快。趁現在坐在客廳里吹風,有本本在,隨手在網上找些資料整理一下JAVA和C的區別,但又很矛盾,如果單從語言來比較是沒有什么太多意義的,一個類似寄生蟲一樣的東西,一個是生下來就可以跑的家伙,但我今天的BLOG還是要寫,以此充數吧!至少也是我的心得。

          ??? 1.?Java沒有預處理指令。(如C中的#define , #include , #ifdef等)。C中的常量定義在Java中用static final來取代。
          ??? 2.?Java中沒有C中的全局變量。
          ??? 3.?Java中的主類型的size是確定的,而C中主類型的size跟平臺相關。
          ??? 4.?Java中沒有了指針,它使用了類似的句柄來取代指針,但是Java中不允許對句柄進行加減,沒有取地址操作符之類的東東。
          ??? 5.?Java有垃圾收集機制,不需要自己釋放空間。
          ??? 6.?Java沒有goto語句。Java在C提供的控制語句基礎上增加了異常處理和標簽break和continue語句。這些可以替代goto的作用。
          ??? 7.?C要求一個方法或塊中使用的所有局部變量的定義在該方法或塊的最開始處定義,而Java允許這些定義在方法或塊的任意地方出現。
          ??? 8.?Java不要求在調用一個函數以前已經定義了該函數,可以在調用點后面定義。而C有這個要求。
          ??? 9.?Java不支持C中的strut 和 union類型。Java支持方法重載。
          ??? 10.?Java已經支持C中的enum關鍵字(SE5.0就支持了)。
          ??? 11.?Java不支持C中的bitfields能力。
          ??? 12.?Java不支持C的typedef。
          ??? 13.?Java不支持C的方法指針。
          ??? 14.?Java支持可變參數表。?
          ????15,java有?Reflection?,c?沒有
          ???16,java有Annotations,c沒有
          ???17,java有generics,c沒有
          ???16,java有interface,c沒有
          posted on 2007-07-29 13:58 EricWong 閱讀(892) 評論(7)  編輯  收藏 所屬分類: Java

          評論:
          # re: 隨手整理Java與C的不同點及心得 2007-07-29 14:52 | pass86
          不要和C比較,引文這樣不公平,C是面向過程的程序設計語言。要和C++比較.  回復  更多評論
            
          # re: 隨手整理Java與C的不同點及心得 2007-07-29 16:33 | dennis
          蠻多有誤的地方

          java怎么沒有全局變量?我們常常定義Globel類來存儲系統的全局性參數

          java雖然goto是保留字,但是其實通過break label機制也實現類似goto的效果

          java已經支持enum關鍵字

          java已經支持可變參數列表

            回復  更多評論
            
          # re: 隨手整理Java與C的不同點及心得 2007-07-29 16:34 | dennis
          C語言通過一些庫的支持也是有一定程度的Reflection的  回復  更多評論
            
          # re: 隨手整理Java與C的不同點及心得 2007-07-29 17:45 | bcims
          @dennis
          感謝dennis,enum在SE5.0就支持了,可變參數列表同樣也支持,goto的話我上面已經講清了,全局變量的話,您是從C方面講的。  回復  更多評論
            
          # re: 隨手整理Java與C的不同點及心得[未登錄] 2007-07-29 20:41 | roger
          一個是面向對象的,一個是面向過程的。兩種完全不一樣的東西,拿來比較是很無聊的事情,就像比較男人和女人之間的區別一樣,沒意思。  回復  更多評論
            
          # re: 隨手整理Java與C的不同點及心得 2007-07-29 20:45 | dreamstone
          java和c沒有可比性啊,應該和java比的是c++或者c#
          c本身不是面向對象語言,和c比的應該是pascal basic這類東西。
            回復  更多評論
            
          # re: 隨手整理Java與C的不同點及心得 2007-07-30 08:42 | Unmi
          java和c沒有可比性  回復  更多評論
            
          主站蜘蛛池模板: 伊宁县| 汽车| 辽阳县| 昭通市| 包头市| 文昌市| 电白县| 株洲市| 云和县| 宁津县| 城市| 广丰县| 秦皇岛市| 宁蒗| 洛南县| 商城县| 清原| 东乌珠穆沁旗| 扬中市| 罗田县| 乃东县| 广宗县| 十堰市| 浙江省| 兴业县| 耒阳市| 长顺县| 沾益县| 开阳县| 昆明市| 托克逊县| 定兴县| 石家庄市| 武邑县| 乌兰县| 平果县| 漠河县| 彩票| 阳西县| 新绛县| 甘洛县|