您所在位置:主页 > 上元IT > Java前端 >

慈溪Java前端培训_JAVA和C++学习哪一个比较好?

2020-06-23 13:14 adminSYjy
慈溪Java前端培训_JAVA和C++学习哪一个比较好?

【学校地址】慈溪环城南路130号天九商务大厦211室——上元(邦元)教育
[为中华企业培养实用人才]
【咨询热线】邱老师:18267400416(同微信号)  QQ:1849699290
【其它说明】①找不到地址或者车位可以联系邱老师
            ②课程咨询:设计丨外语丨会计丨教师丨建工丨学历丨IT


C++比较陡, 很久才能真的干活.

Java比较缓,很快可以上手.

1、建议新手学java,Java比c简单,c有很多的细节需要你掌握,比如指针,内存分配,内存释放等这些细节概念。这个对初学者确实有些难,很多人需要学习很长时间,才能开始用c写程序,因为你不得不先学习指针这一类的概念。


2、Java相对概念没那么多细节,掌握语法基本就可以开始写简单的程序了。而且c的开发工具没Java那么强大,例如初学者难免会有语法上的错误,Java有语法错误,开发工具会很清楚地提醒你。而好多c开发工具做不到这个(当年我学的时候至少是这样)。

Java从语法上来讲比C++简单得多。但是学Java也并不简单。因为Java的适用范围太大了。作为当下最红的编程语言,它几乎无处不在。而它的各种框架和工具也层出不穷。

 


各种语言有自己的适用区域

 


1 c++就是一个不断缝缝补补又三年的最大集合语言。<c++语言的设计和演化>中,作者就说得很清楚,c++注重实用和性能。跨平台估且不说吧,先是用鬼画符般的重命明机制来支持重载,然后用虚表数组各种扭来实现该死的多继承,用智能指针来搅没有gc的混水,最后发现了模板新大陆,没有标准的自省机制的问题又可以拖一拖了。


2 java就吸取了很多c++的教训,jvm规范先帮你省了不少跨平台的事,不管是语言语法,还是设计,java堪称oo数组型语言的完美代表。多线程和锁的设计,gc的支持,异常机制的完善,让韭菜茁壮成长。


说说我学 C++ 时遇到的一些 Java 里不存在的问题吧。


函数传值。C++ 要在函数间传递对象有传值、传引用、传指针的区别;传值的话要考虑复制构造和移动构造的问题,传引用的话会涉及到只读引用、可读写的引用和右值引用,传指针的话就更复杂了,用裸指针还是智能指针?智能指针要用 shared_ptrunique_ptrweak_ptr还是其他什么玩意?你看人家 Java,基本类型就是复制传值,其他的就是传引用,简单得不是一点半点!


创建对象。C++ 创建对象也是一门学问,光写法就有直接初始化、复制初始化、列表初始化三种,还能选择在栈里还是在堆里创建。隔壁 Java 呢?所有引用类型都在堆里创建,一个 new 就能初始化对象,真的简单!


生命周期。打个比方吧,Java 里的对象,你只用管生管养,用完扔了就是,不用管到死,有专业的 GC 帮你擦屁股;C++ 的对象你不仅要管生管养,用完了还要管死管埋,于是就会遇到死的对象没有埋(内存泄漏)、召唤僵尸干活(引用已释放的对象)、埋错对象(错误释放对象)、埋完又埋(重复释放对象)等等问题,这也是 C/C++ 等没有 GC 的语言必须面对的问题。


类型声明。我非常不喜欢 C/C++ 复杂的类型声明,const int *constint *(&arr)[10]什么的要死人啦!用 using 定义类型别名还好,typedef绝对是「晦涩难懂还容易出错」的代名词。一个常见的 C++ 类型往往包含有 const 声明、指针(*)和引用(&)声明、命名空间、类型别名、泛型参数一堆成分,这也在一定程度上加大了 C++ 的复杂度。Java 的类型虽然也比较长,但一般不会写完整的包名,只包含类型本身的名字(不存在别名)和泛型参数,而且统一采用驼峰式命名法,整体观感上比 C++ 类型整齐简单很多。
 

慈溪Java前端培训_JAVA和C++学习哪一个比较好?

上一篇:慈溪Java前端培训_什么学习方法可以更好的学习

下一篇:慈溪JAVA前端培训_Java基础知识总结-详细篇