首页

文章

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

发布网友 发布时间:2022-03-23 16:01

我来回答

7个回答

热心网友 时间:2022-03-23 17:30

首先应该清楚,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++中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。

热心网友 时间:2022-03-23 18:48

java热度相对更高,c++难度大

热心网友 时间:2022-03-23 20:23

还是先学C语言吧,然后学C++

热心网友 时间:2022-03-23 22:14

如果想要快点有成果就java吧
那两个难一点,而且不容易有成果

热心网友 时间:2022-03-24 00:22

初学者入门一般是c或c++,限于时间,可二选一。c是面向过程,c++是面向对象和过程,都能操作底层,但c更透彻,c++更全面!但是现在公司最流行的语言就是Java,纯粹面向对象,上手相对容易,工作好找,当然,自从微软开发.net后,c#也开始和Java平分天下,其中语法什么的都差不多,建议二选一进行学习。
如果你想从事这方面工作,商用软件基本Java就够了,做底层驱动c等比较好,做大型项目如大型游戏等,c++是最好的选择。
综上所述,个人建议从Java开始往c学,这样容易点。

热心网友 时间:2022-03-24 02:47

C++用的多

热心网友 时间:2022-03-24 05:28

c++.基础。
出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 3岁孩子不会说话,应该挂什么科? 3岁小孩不会说话正常吗 鹿茸炖乌鸡怎么做? 新型冠状肺炎吃什么药可以预防 冰箱上电后一直响 食品生产许可证编号开头为“ G”。 库存过期香精 猎狐点卡平台经营范围 电影代理靠谱吗 兄弟三人,有什么好的QQ网名 租赁合同书范本简单版 简单房屋出租协议书模板 简单明了租房合同范本 租房合同书免费下载(实用6篇) 出租房屋合同 简洁的房屋租赁合同范本 阳光人寿保险是骗人吗? 三胎政策有那些配套措施有哪些 ...法院也立案了,可被没有可执行的财产怎么办,我的工资还能要回来吗... 离婚后析产案法院强制执行,对方说没有钱,我该怎么办 澳门为什么叫澳门? 新能源老年代步车锂电池 如何为职务侵占罪进行辩护 职务侵占如何辩护 职务侵占罪有效辩护点有哪些 miui11开发者选项在哪_小米miui11开发者选项在哪 查询考研成绩需要什么 考研查分前要做什么 考研查询需要什么证件 研究生什么专业好 什么专业的研究生最好 考研究生什么专业好 研究生学什么专业 宝石花的养殖方法介绍 宝石花怎么养才长得好 对于初学者,编程先学C好,还是Java好 入门学C+还是学Java好? java语言,c语言和c++,哪个更容易上手,更简单?初学者学哪个好? 新手自学编程是c好还是java好? 请问零基础应该先学c语言还是JAVA语言? 学习c语言好,还是java语言好 初学者学习java和c 哪个好 学C好还是学JAVA好 是先学 java好还是先学c语言好? java和c语言那个比较好? 我是想学编程一名初学者,C语言和JAVa学哪个好 Java和c语言哪个更好学一些呢? c语言和java哪个适合小白学习? C语言和Java哪个更好学? 新手学C还是Java? 苹果手机发语音没有声音怎么回事 苹果12发语音没声音 苹果手机发微信语音没声音 为什么苹果手机老是发语音听不到? 苹果手机发出去的语音没声音 新手学c语言还是java? c语言和java哪个更好学 第七代苹果平板MW782CH/A尺寸多少? mwew2ch/a是什么版本 苹果MLMW2CH/A是几代 苹果型号mwnd2ch/a? 苹果手表mqqt2ch/a是几代 mwv82ch/a是蜂窝版的吗 mwvf2ch/a手表是什么版本 MGLW2CH/A是什么意思 mwn92ch/a是什么型号 applewatchMWVF2CH/A是几代 MWNE2CH/A是不是官换机? 苹果 7plus MPR42CH/A是什么意思? MWF42CH/A这个型号的可以用电信卡吗? iphone se的型号mlxn2ch/a是什么意思 台电充电宝充不进电t9-b,显示充电宝满电,但是不能往设备里充电, 充电宝充不进去电是因为充电器头吗 台电t200e充电宝充不进电怎么回事 台电科技充电宝充手机电充不了是什么原因呢?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com