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關鍵字。
11.Java不支持C中的bitfields能力。
12.Java不支持C的typedef。
13.Java不支持C的方法指針。
14. Java不支持C的可變參數表。