java从根本上说是c之后的一种改进语言,纯面向对象的一种编程语言(当然比起Ruby还是差一点),有了C语言的基础固然对学习java有帮助,因为在某种程度上java语言和C语言是比较接近的。但是如果没有学习过C语言也完全没有问题,这两者并不存在依赖关系,直接学习java语言是完全可以的。我本然便是如此。
楼主如果没有任何基础,我推荐您选择一本叫做java学习笔记的书,林信良编著的,对于初学者应该是不错的选择,能够认真看完这本书的内容,通过SCJP考试应该不是问题了!
另外,我也收集了一些java和C的不同点供楼主参考:
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的可变参数表。
希望您满意!
温馨提示:答案为网友推荐,仅供参考