原标题:先学Java好还是c++好,两者之间有什么联系?
先学Java好还是c++好,两者之间有什么联系?
都说C生万物,C语言是万物之本,也有人说学Java好,易学易懂。其实Java和C/C++的相似之处多于不同之处,有C语言基础的同学,学习Java会更容易。Java的许多术语来自于C++,其语法也来自于C++。Java比C/C++易学、易用,且有强大的内建功能。相比较而言,Java的编程环境更为简单。下面小编就列出一些Java和C/C++较为显著的区别:
一、指针
java语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说java没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于java程序的安全。
二、多重继承
c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。java不支持多重继承,但允许一个类继承多个接口,实现了c++多重继承的功能,又避免了c++中的多重继承实现方式带来的诸多不便。
三、数据类型及类
java是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类型之外,其余的都作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类中,这样每个对象都可实现自己的特点和行为。而c++允许将函数和变量定义为全局的。此外,java中取消了c/c++中的结构和联合,消除了不必要的麻烦。
四、操作符重载
java不支持操作符重载。操作符重载被认为是c十十的突出特征,在java中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。java语言不支持操作符重载是为了保持java语言尽可能简单。
五、类型转换
在C/C++中,有时出现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例如,在C++中可将一个浮点值赋予整型变量,并去掉其尾数。Java不支持C++中的自动强制类型转换,如果需要,必须由程序显示进行强制类型转换。
其实Java和C++各有各的优势,无需争论哪种语言好,哪种语言不好,能够存在就一定有它的优势,只要你决定了要学编程就扎实的学好,编程语言都是相同的,学会一种,其他的学起来就很容易了。学就学精,不要“学而不精”,学精一种了,前景都是很好的!