学java要先学c语言吗
可以不要,java是一门面向对象的语言而c是一门面向过程的语言,有些人之所以选择先学c再学java,其主要是因为java和c有许多语法相似的地方,如果c语言入门,学java就会简单一点。
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()函数释放空间。
推荐教程:《java教程》
以上就是学java要先学c语言吗的详细内容。