资讯专栏INFORMATION COLUMN

作为我的的第一门语言,学习Java时是什么感受?

isaced / 3444人阅读

摘要:作为技术书籍或者视频,讲解一门语言的时候都是从最底层开始讲解,底层的基础有哪些呢首先是整个,让我们对这门语言先混个脸熟,知道程序的基本结构,顺带着还会说一下注释是什么样子。

2018年新年刚过,就迷茫了,Java学不下去了,不知道从哪里学了。

那么多细节的东西,我根本记不住,看完就忘。

刚开始学习的时候热情万丈,持续不了几天就慢慢退去。

作为技术书籍或者视频,讲解一门语言的时候都是从最底层开始讲解, 底层的基础有哪些呢?

首先是整个Hello World, 让我们对这门语言先混个脸熟,知道程序的基本结构,顺带着还会说一下注释是什么样子。

然后就会进入数据类型,什么int , float ,double ,char,他们都是几个字节啊? 取值范围是多少? Unicode是怎么回事? 哪些数值之间可以自动转换?哪些需要强制转型?细节很多很烦人。

接下来就是运算符,加减乘除,与或非,大于等于小于,自增自减,优先级等等。

对Java来说,有可能还会多带带把String 列举出来讲解,这又会涉及到各种各样、乱七八糟的输出格式。

不管是看视频还是看书,或者视频+书, 我估计大部分人都能耐着性子学到这里,毕竟学习的热情还在。

接着流程控制就会登场,if else, while, for , do while, switch ... 看完了这些,终于可以写一点小程序了。比如说输出乘法口诀表,猜数游戏,再比如说从控制台输入一个学生成绩,然后判断是优/良/差......

对了,还有数组,一维数组,二维数组......

如果你是利用业余时间自学,学到这里估计一周甚至两周都过去了。

学得快的有可能进入到面向对象编程,封装、继承、多态,搞清楚怎么创建对象的, private,protected,public ,default的区别(很多书或视频还会贴心地总结一个表格)。弄明白父类子类之间的关系,简约而不简单的多态--虽然还不能确切知道它有什么用处。

对于Java,还会提到接口和内部类,equals, hashcode,toString等方法,自动拆箱和装箱、枚举。

初学编程的人学到这里,估计就会怀疑人生了:这到底是什么鬼?!我学了这么多,到底有什么用?我好像还是不能写个网站/开发个App/写个游戏.... 还有,我之前学的东西好像忘了很多啊?!

抬头瞧瞧,前面还有什么集合框架、线程、反射、IO、泛型、网络等一座座高山,这还只是基础的Java SE,低头看看,自己刚刚趟过几条小河,顿时热情尽失,放弃吧!

不知道在培训班学习的同学是什么感受,整天都在一个教室中面对这些“无聊”的细节,滋味也不大好受吧。

只有那些自制力强的同学才能突破Java SE的层层封堵,继续前行,进入到下一战场。

我经常说软件编程是个处理细节的行业,学习的过程是个螺旋上升的过程,在学习过程中不可能迅速地把所有的东西都掌握,需要反复回头看,查缺补漏。

话虽这么说,但是初次学习编程,会发现细节太多,不知道学了后有什么用,让人深感挫败。

相比而言,前端似乎好一点,学习的时候是所见即所得,立刻在浏览器中看到效果,很直观,很有成就感。
我觉得 学习的时候可以轻装上阵,抓住主干,不纠缠细节,快速推进到可以开始真正的项目编程(例如Web系统,Android App)的地步,这些项目不用特别复杂,简单的小系统就可以。

通过做项目,能够看到全局,明白自己所学知识的实际应用,还可以看到实际运转的系统,会获得成就感,这是个很重要的正反馈,能够激励你继续学习下去,不至于从入门到放弃。

在做项目的过程中,由于掌握得不全面,会磕磕碰碰,需要频繁地查资料,查漏补缺,进展会比较缓慢,但是有个目标在前边招手,不至于让你迷茫。

当你的代码写得多了,常用的API自然记住了,根本不会忘。

那所谓的Java SE的主干是哪些呢? 我这里列举下我个人认为编程中最常用的一些功能点,实际项目需要的最小集合可能比这个大,但是应该不会比这个更小了。

数据类型: int , boolean , String。

流程控制: if else, for , while。

集合框架: List ,ArrayList, HashMap。

面向对象:类的定义,理解封装、继承、多态。

泛型:理解为什么有泛型,基本的用法

线程:能够自己写简单的多线程并发程序,理解加锁, 线程的状态转换。

IO : 能够自己写程序读取XML文件和属性文件。

反射: 能够通过反射方式读取类的字段、方法、执行一个方法。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68203.html

相关文章

  • SegmentFault 技术周刊 Vol.40 - 2018,来学习一门新的编程语言吧!

    摘要:入门,第一个这是一门很新的语言,年前后正式公布,算起来是比较年轻的编程语言了,更重要的是它是面向程序员的函数式编程语言,它的代码运行在之上。它通过编辑类工具,带来了先进的编辑体验,增强了语言服务。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获...

    caspar 评论0 收藏0
  • SegmentFault 技术周刊 Vol.40 - 2018,来学习一门新的编程语言吧!

    摘要:入门,第一个这是一门很新的语言,年前后正式公布,算起来是比较年轻的编程语言了,更重要的是它是面向程序员的函数式编程语言,它的代码运行在之上。它通过编辑类工具,带来了先进的编辑体验,增强了语言服务。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获...

    nihao 评论0 收藏0
  • SegmentFault 技术周刊 Vol.40 - 2018,来学习一门新的编程语言吧!

    摘要:入门,第一个这是一门很新的语言,年前后正式公布,算起来是比较年轻的编程语言了,更重要的是它是面向程序员的函数式编程语言,它的代码运行在之上。它通过编辑类工具,带来了先进的编辑体验,增强了语言服务。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不觉已经到来了,总结过去的 2017,相信小伙们一定有很多收获...

    Drummor 评论0 收藏0
  • 程序员的使命是让程序员失业 —— Gemini

    摘要:程序员不仅应致力于让程序员失业,也应致力于让所有人失业。源代码公开是一个热议话题,当问到对源代码公开的个人观点时,说到虽然对程序员是一件好事,可以让程序员研究源代码,但我并不认为所有软件的源代码必须公开,源代码公开涉及到知识产权等各种问题。 为打破外界对程序员简单平面的偏见,一系列程序员访谈正在进行中。 第一个接受访谈的程序员 Gemini,在 SegmentFault 主要负责 An...

    justCoding 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<