Java语言和C语言的关系
C语言和Unix起源贝尔实验室,是为unix操作系统设计并实现的 。C++是完全兼容C的一门语言,具备面向对象特点的,使得C的领域从系统横跨到应用的级别,覆盖领域也更广,C++严肃了C的优点,比如:面向过程和面向对象特点,编程本质掌握度深;Java是由C++发展来的,又保留了C++的大部分内容,编程方式类似于C++。但是java又更清晰,规模较小,而且比较容易学习。
下面从各个角度看C/C++和Java的区别指针:
C/C++有指针,Java没有;指针操作容易出现错误,比如:指针悬空造成的系统崩溃,但是Java没有指针就避免了操作失误;
多重继承:
多重继承的意思就是一个类允许继承多个父类,多重继承的功能很强大。C++支持多重继承,Java不支持多重继承。可是多重继承功能用起来比较复杂,编译的时候实现起来不是很容易,Java这里虽然不支持多重继承,但是允许一个类实现多个接口;
数据类型:
Java是完全面向对象的语言 ,C是面向过程的。Java所有的数据和方法都是类的一部分。除了基本的数据类型以外,类型的数据都作为对象型数据,例如:对象型数据包括数组和字符串;C++是将函数和变量定义为全局的,然后调用函数和变量;此外Java取消了C/C++的结构和联合;
自动内存管理:
Java会自动进行无用内存的操作,不需要再去删除。C++要由程序释放内存资源;
操作符重载:
操作符重载是C++的特征,Java是不支持的。
预处理功能:
预处理器是为了程序员提供方便的,C/C++在编译的时候都有一个预编译阶段,就是预处理器。Java也允许预处理,但是不支持预处理器的功能,要是想实现的话,需要引入import,和C++的预处理器功能是差不多的;
缺省函数参数:
Java没有函数,而C中代码阻止在函数中,函数可以访问程序的全局变量。C++增加了类提供了算法。这个算法是类和函数的相连。
字符串:
C/C++不支持字符串变量,在C和C++程序要使用Null种植表示代表字符的结束。在Java中字符串是用类的对象来实现的,也就是String和StringBuffer;
类型转换:
在C/C++中有时候出现数据类型的隐含专函,Java不支持自动强制类型转换,如果有需要,须由 程序显式进行强制类型转换;
上面是他们的区别,下面放两个学习线路图,大家也可以参考他们的学习步骤:
上面这个是Java的学习线路图,一共五个阶段,并且包括每个的知识。
相对来说各有各的好处和优点,C/C++虽然会有些难度,但是学完之后你再去上手java非常的容易,很多的编程语言在早期的时候,开发包版本要几个月就学习新的技术,但是C/C++语言是最早的高级语言,版本更新就没有那么快了,所以不用因为版本问题需要一直学习,后期的话压力很小。下面看一下层级:
程序性能排名:汇编>系统级语言>应用级语言>脚本级语言
程序可读性:脚本级语言>应用级语言>系统及语言>汇编
希望这篇回答给纠结语言的人清晰的看到他们的区别。这样的区别你了解后,选择一门入手,翻回中间的学习线路图,就可以开始你的学习之旅了。