我是编程初学者,我是该学java呢,还是学c++?

如题所述

首先应该清楚,Java 是由 C++发展而来的,保留了 C++的大部分内容,其编程方式类似于 C++。但 Java 的句法更清晰、规模更小、更易学。Sun 公司对多种程序设计语言进行了深入研究,并摒弃了其他语言的不足之处,最终退出了 Java。正是这样,Java 从根本上解决了 C++的固有缺陷,形成了一种新的完全面向对象的语言。

Java 和 C/C++的相似之处多于不同之处,有 C 基础的读者,学习 Java 会更容易。相比较而言,Java 的编程环境更为简单。因篇幅所限,这里不能完全列出不同之处,仅列出一些比较显著的区别。

指针
Java 没有指针的概念,从而有效地防止了在 C/C++语言中,容易出现的指针操作失误(如指针悬空所造成的系统崩溃)。在 C/C++中,指针操作内存时,经常会出现错误。在Java 中没有指针,更有利于 Java 程序的安全。

多重继承
C++支持多重继承,它允许多父类派生一个子类。也就是说,一个类允许继承多个父类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。所以 Java 不支持多重继承,但允许一个类实现多个接口。可见,Java 既实现了 C++多重继承的功能,又避免了 C++的许多缺陷。

数据类型
Java 是完全面向对象的语言,所有方法和数据都必须是类的一部分。除了基本数据类型之外,其余类型的数据都作为对象型数据。例如对象型数据包括字符串和数组。类将数据和方法结合起来,把它们封装在其中,这样每个对象都可实现具有自己特点的行为。而 C++将函数和变量定义为全局的,然后再来调用这些函数和变量,从而增加了程序的负担。此外,Java 还取消了 C/C++中的结构和联合,使编译程序更简洁。

自动内存管理
Java 程序中所有的对象都是用 new 操作符建立在堆栈上的,这个操作符类似于 C++的“new”操作符。Java 自动进行无用内存回收操作,不需要程序员进行删除。当 Java 中一个对象不再被用到时,无须使用内存回收器,只需要给它加上标签以示删除。无用内存的回收器在后台运行,利用空闲时间工作。而 C++中必须由程序释放内存资源,增加了程序设计者的负担。

操作符重载
Java 不支持操作符重载,操作符重载被认为是 C++的突出特征。在 Java 中虽然类可以实现这样的功能,但不支持操作符重载,这样是为了保持 Java 语言尽可能简单。

预处理功能
C/C++在编译过程中都有一个预编译阶段,即预处理器。预处理器为开发人员提供了方便,但增加了编译的复杂性。Java 允许预处理,但不支持预处理器功能,因为 Java 没有预处理器,所以为了实现预处理,它提供了引入语句(import),它与 C++预处理器的功能类似。

Java 不支持缺省函数参数,而 C++支持。
在 C 中,代码组织在函数中,函数可以访问程序的全局变量。C++增加了类,提供了类算法,该算法是与类相连的函数,C++类方法与 Java 类方法十分相似。由于 C++仍然支持 C,所以 C++程序中仍然可以使用 C 的函数,结果导致函数和方法混合使用,使得 C++程序比较混乱。

Java 没有函数,作为一个比 C++更纯的面向对象的语言。Java 强迫开发人员把所有例行程序包括在类中。事实上,用方法实现例行程序可激励开发人员更好地组织编码。

字符串
C 和 C++不支持字符串变量,在 C 和 C++程序中使用“Null”终止符代表字符串的结束,在 Java 中字符串是用类对象(String 和 StringBuffer)来实现的,在整个系统中建立字符串和访问字符串元素的方法是一致的。Java 字符串类是作为 Java 语言的一部分定义的,而不是作为外加的延伸部分。此外,Java 还可以对字符串用“+”进行连接操作。

goto 语句
“可怕”的 goto 语句是 C 和 C++的“遗物”。它是该语言技术上的合法部分,引用 goto语句造成了程序结构的混乱,不易理解。goto 语句一般用于无条件转移子程序和多结构分支技术。Java 不提供 goto 语句,其虽然指定 goto 作为关键字,但不支持它的使用,这使程序更简洁易读。

类型转换
在 C 和 C++中,有时出现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例如,在 C++中可将一个浮点值赋予整型变量,并去掉其尾数。Java 不支持 C++中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-11-17
java热度相对更高,c++难度大
第2个回答  2012-12-11
还是先学C语言吧,然后学C++
第3个回答  2012-12-11
如果想要快点有成果就java吧
那两个难一点,而且不容易有成果
第4个回答  推荐于2017-09-20
初学者入门一般是c或c++,限于时间,可二选一。c是面向过程,c++是面向对象和过程,都能操作底层,但c更透彻,c++更全面!但是现在公司最流行的语言就是Java,纯粹面向对象,上手相对容易,工作好找,当然,自从微软开发.net后,c#也开始和Java平分天下,其中语法什么的都差不多,建议二选一进行学习。
如果你想从事这方面工作,商用软件基本Java就够了,做底层驱动c等比较好,做大型项目如大型游戏等,c++是最好的选择。
综上所述,个人建议从Java开始往c学,这样容易点。本回答被提问者和网友采纳

0基础自学先学java好还是c语言好?
如果是都要学,那么可以先学习c++,c++可以说是Java的前身,但相比之下c++更难,建议从C语言入手,之后再学Java要简单一点。千锋教育就有线上免费Java线上公开课。 如果你不走C\/C++方向,直接学习Java就可以了,相同的待遇下,选择简单的更好。当然,如果你以后的目标不是普通的码农,那么你还是要...

2024年选Java还是选C++,其实很简单,最重要的是要找到工作
一、选择Java还是C++?基于个人经验,如果你是学生且有大量空闲时间,建议你深入学习C++。C++被誉为程序员的“九阳神功”,其学习过程涵盖操作系统原理,这将为后续学习其他语言和机制奠定坚实基础。然而,如果你急于寻找工作,或对编程兴趣不大,只是为了谋生,优先选择Java,甚至可以背诵Java面试答案,或许能...

我是编程初学者,我是该学java呢,还是学c++?
首先应该清楚,Java 是由 C++发展而来的,保留了 C++的大部分内容,其编程方式类似于 C++。但 Java 的句法更清晰、规模更小、更易学。Sun 公司对多种程序设计语言进行了深入研究,并摒弃了其他语言的不足之处,最终退出了 Java。正是这样,Java 从根本上解决了 C++的固有缺陷,形成了一种新的完全面...

c++和java到底学哪一个好?
java好,根据java和c++的技术应用对比,得知java以后工作的时候能用到的地方更多一点。1、c++的应用 (1)科学计算 在科学计算领域,FORTRAN是使用最多的语言之一。但是C++凭借先进的数值计算库、泛型编程等优势在这一领域也应用颇多。(2)网络软件 C++拥有很多成熟的用于网络通信的库,其中最具有代表性的...

请问C\/C++与Java相比而言学哪种好一点?
学习C\/C++或Java,主要取决于你的兴趣和职业目标。C\/C++通常被认为更具底层控制力,适用于系统编程、游戏开发、嵌入式系统或需要高效处理的场景。如果你对硬件层面的控制、性能优化或参与底层系统设计感兴趣,C\/C++可能是一个更好的选择。Java则以其跨平台性、丰富的类库和强大的开发工具而闻名。它广泛...

学Java和C++哪个更有前景?
无论是学习Java还是C++,都有很好的发展前景。关键在于选择适合自己的方向,并不断提升自己的技能水平。在未来的职业发展中,掌握多种编程语言和技术将更具竞争力。因此,我建议初学者可以先了解自己的兴趣和职业规划,再选择学习适合自己的编程语言。在编程世界中,Java和C++都是备受瞩目的编程语言,各自有...

c++和java就业前景哪个好?
学c++更有发展前景,但是java去除了很多C\/C++中容易出错的地方,如指针等,减轻学习负担,较为简单一些。C++语言不仅能开发客户端程序,还可以开发服务器程序。千锋教育就有线上免费Java线上公开课。Java语言是一种运行于虚拟机上的一种解释性语言,正是通过虚拟机实现了跨平台的特性,开发出来的程序可以...

学习编程的话,那种语言有前途?java还是C或C++
如果楼主编程能力足够强的话,建议选择C++,因为现在大多系统和软件都是基于它的,倘若只是想从事这方面的工作,java不错,简单易学,并且很多公司都在需求

深入学习c++还是java好?
答案是:C++相对于Java更难学,但薪资和Java相似,且C++程序员职位较少,对技能要求更高。能力强的话,C++和Java都好找工作,C++转Java在找工作时具有一定优势。不放弃C++,即使学习了Java也要继续提升C++技能。精通C++后,学习其他语言会更事半功倍。从工作角度看,Java程序员大量集中在培训机构培训出来...

先学C++还是Java
如果你是以钱为目的的 建议:先学习JAVA,因为JAVA比C++要好学的多。它是一种面向对象的编程,简单易学。如果你要以知识为目的 建议:先学习C++,因为C++是一种面向过程的编程,初学者无论是先学习JAVA还C++,对于过程是比较顺手的(不用步步以对象为基础去编程),学会了C++,那JAVA就更简单了,但...

相似回答