新手,我在自学编程当中遇到的一些问题。

2017-04-29 19:38:00 +08:00
 lbc307
本人学历是高中毕业,在外面有过几年工作经验,现在准备系统性的学习编程。第一个问题就是:学 JAVA 学了大概有 5-6 个月左右了,每天 6 个小时左右的学习,理解了一些基础的东西,但是我学习的过程中也只是反复地对着视频中的代码去敲,自己不会独立的去写,如果要自己独立能够完成一个小小的项目,需要具备哪些 JAVA 知识?感觉越学越迷茫不知道该怎么办。第二个问题,我知道英语很重要,我英语也不好,想要学习计算机方面的英语,如何开始,有什么好的意见?第三个问题:我看了一下网上说要系统性的学习的话,要学习计算机组成原理、数据结构、算法、计算机网络,那么这么多的知识哪些是最重要的,哪些是暂时不那么重要的?那些应该优先去学习去多花时间,哪些只需要稍微了解一下就可以了?希望看在我诚心诚意求救的份上能有大神赐教,谢谢
7322 次点击
所在节点    Java
60 条回复
lbc307
2017-04-29 19:41:37 +08:00
目前学习 JAVA 就是自己不能根据自己的理解去独立地写代码,总是觉得还有很多不足,对着视频里面的学习,总觉得代码懂了,但是自己想写一些什么东西还是写不出来,很苍白无力,最大的希望就是自己能独立写出来一个小软件,这样会有很大的收获,但是目前就跟无头苍蝇一样,无从下手。
MealPlanSilver
2017-04-29 19:45:09 +08:00
我学 java 的时候就是把 core java 第一本看了看,第二本按需查,然后把官方的 tutorial 读了读。基本上够用了。
补基础的话可以先读 csapp,基本能有个感觉。数据结构算法可以读 Sedgewick 的算法第四版。这两本是你避不开的。
网络的话可以看自顶向下方法。有需求再读。
gulu
2017-04-29 19:45:48 +08:00
想象自己在玩一个游戏,里面有很多成就,你可以按自己的兴趣一个个来做
yang2yang
2017-04-29 20:10:38 +08:00
为什么我感觉报个班最快?。。。最好是我的错觉。。
lbc307
2017-04-29 20:13:48 +08:00
@yang2yang 先自己学一下,到时候再看情况决定要不要报班
lbc307
2017-04-29 20:14:05 +08:00
@MealPlanSilver 谢谢,很有用的回答
ke1e
2017-04-29 20:15:43 +08:00
just do it.想做什么就去做,你就会知道你需要学什么了
lbc307
2017-04-29 20:16:03 +08:00
@gulu 主要还是希望能指点一些学习心得,我现在的情况就是依葫芦画瓢,对着视频,视频上面讲什么我就对着打一遍,还是感觉很迷茫……
lbc307
2017-04-29 20:16:17 +08:00
@ke1e 谢谢
gulu
2017-04-29 20:24:45 +08:00
@lbc307 我也是新手,肯定谈不上指点了,因为我自己最近也有这方面的疑惑,我就是这么开导自己的。

楼主可以试试自己做一些项目呢?然后再按需学习。
gamexg
2017-04-29 20:51:00 +08:00
学习就是这样,
我一般学习新语言就是把手册看一遍,写一下例子,之后就是直接自己写个项目,碰到问题再学习。

项目可以随便想个,不经过实战光看手册是学不会的。
duan602728596
2017-04-29 21:03:18 +08:00
没需求,有个需求就好了
dabney777
2017-04-29 21:07:48 +08:00
因为你没项目,你要给你的需求想一个架构,但是项目不会凭空来的
先找个实习试试?
lbc307
2017-04-29 21:11:06 +08:00
@duan602728596 这个说的很对,没需求,要有个需求,刚开始的新手订个什么需求比较好呢
lbc307
2017-04-29 21:14:11 +08:00
@gulu 好的,这样可以,谢谢,一起进步
kokutou
2017-04-29 21:16:44 +08:00
先换个 ide,比如 intellij idea,好处是代码提示 /调试功能非常爽。
这样你不用记那些方法,打个.就全出来了。

然后是面向对象的思想,这个意思其实就是所有的东西都能打.

然后就是面向 Google/stackoverflow 编程,比如写个模拟 web 登录查课表的工具,写个打砖块小游戏,写个游戏的数据文件解包工具等等。

开始写感兴趣的小工具吧。
就算是批量重命名也算个小工具啊。

等你电脑里到处都是打包成.jar 的小工具后,搞些大项目写写。
kokutou
2017-04-29 21:22:01 +08:00
intellij idea 的 debug,你在字串上打断点,就能看到 str 在内存里怎么存的,字串最后有个 \0,List 里面有哪些东西,为什么这样做和那样做结果不一样,打断点看看相关变量,for 循环 while 循环跑的顺序,等等,这对学习一些基础是很有帮助的。
duan602728596
2017-04-29 21:51:32 +08:00
@lbc307 最好贴近自己的生活。比如我吧,我就是追国内某女团,为了能够搞到直播的视频用来剪 cut,我就用 python 写爬虫然后抓视频流,后来为了让非程序员也能用,就搞了爬虫+gui 界面+ffmpeg。虽然说技术难度不高,但是有人用,有需求,这就是项目。你也可以这样,找到生活中可以用代码解决的问题,然后写一个小项目。而且不是说项目就是代码多复杂,解决问题优先
orange2016
2017-04-29 22:01:02 +08:00
建议楼主先自学一段时间,先看适不适合学 Java,然后如果自已自律性不够好,还是建议报班学吧。。。兴趣是最好的老师!
iot
2017-04-29 22:08:52 +08:00
计算机网络要先学,因为这个有意思、好学、能很快用到,其次是数据结构与算法,也是最重要的一个,操作系统和数据库可以最后学,计算机组成可以不学。

英语不好的话,看到一个单词就要掌握一个,我英语很好,当初第一次看 delphi 英文文档,也是啥也看不懂,看个几年就几乎不用翻译工具了,重在积累。

遇到不懂的百度或者通过 wikipedia 的相关知识,逐步形成知识体系。我当初刚学时候电脑都没有,全靠把这些知识下载到 mp4 里,每天有空就看,充分利用碎片时间。

熟能生巧,重复是知识之母,没有基础的时候多看文字性的,增强感性认识,我也是自学计算机的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/358125

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX