[转自知乎]java初学者,如何学习java?

java初学者,如何学习java?

关键字: 学习 , Java 编程 ,

Answer 1

如果是0基础学java,先搞明白要做什么?
java现在可以写j2ee,也可以写android。
弄web,首先搞明白,是做企业应用还是互联网应用,技术也有区别。

先从最简单的java语法学,不必说。然后就写web程序吧,从servlet,filter,jsp写。
然后开始框架,springmvc ,spring,hibernate,mybatis,尝试自己搭框架写点应用(这种书很多)
基础了解后,看看springside,很有名气,现在版本是4(我个人一直认为版本1的文档是最精致的,方便深入了解框架背后),跟自己搭建的比较下,重构之前写的应用。(该看看业界最有名气martin的《重构》一书)
此处有更多的框架要了解,比如logback、sitemesh,freemarker等等,还有maven(最好的情况自然是用git,吧应用部署到github上,用travis-ci进行持续构建),单元测试、功能测试,持续集成等。
阅读源码是其中很重要的,推荐看老外的吧,我在做项目的时候吧cas1,cas2,cas3版本的源码全部读了,很有收获,项目中的部分功能在版本2的基础上改写的,远在cas3支持之前。
别忘了去iteye转转,看看robbin以前写的java系列文章。
以上这些工作中就基本够用了。深入的知识看点赞数再写吧。

Answer 2

很多时候需要试不同的语言功能,这个时候我会用一个REPL,比如: https://repl.it/languages/Java 省去文件反复保存的麻烦。这个项目或者值得尝试 albertlatacz/java-repl · GitHub

初学的时候最好手头有一本书,不需要事无巨细的参考书,而需要可读性强,有趣,有可以跟着打一遍的例子, 选一本就可以了,注意版本不要太低,配合REPL可以在比较短的时间内熟悉基本语法。接下去就根据自己的需要去专门熟悉要用到的库。

到了比较熟悉的阶段,别忘了看 Sun 公司核心技术丛书:Effective Java中文版(第2版)

Answer 3

相见恨晚的网站 http://www.konghao.org

Answer 4

更新:带着满满的责任感好久没更新的我来说明一个问题,就是疯狂java是可以当成API那种来查阅每个方法的。如果你想要深入理解java中的每个概念,还是推荐大家买thinking in java,英文好的读英文版,不好的读中文版。
-————————————————————
作为一名Java的完全自学者。我来说说吧,希望能给大家带来点帮助,如果有不同意见的大家一起来讨论,总之,希望大家可以共同进步。。废话不多说了。。进去正题。。
学习Java呢如果你学过别的面向对象的语言那么通过类比我觉得你一定学起来比较轻松,当然了我们这里就从什么语言没学过的小白说起。。
首先来给大家推荐几本参考书。
ONE:
当初java入门的时候看了一些书,现在想起来特别喜欢 head first java。读起来的感觉就是不一样。强烈推荐!!

这本书我推荐对面向对象编程和其他计算机语言不熟悉的初学者,通俗易懂,讲的全是基础,不会让你被那些繁多的类,方法啥的弄的失去兴趣,因为里面全是基础大家认真看完即可。。。强力推荐这本。
疯狂Java 作者:李刚

Image
这本书讲的极其细致,不过信息量太大,对于初学者来说任务太重。。如果你掌握了上面那本书的知识点,那我强烈建议你买下这本厚书好好研读,也可以将这本书作为一个类库来查阅。。总之知识点应有尽有。 Image下面这本是国外的有较多习题。可以进行练手。。
TWO:
在读上面两本书的同时我建议你多看点网上的视频,推荐的视频有,马士兵老师的。。网易公开课计算机体系里的Java教学,慕课网里的教学。
我想说的是这些视频最好是 看一个老师的(是 哦,也就是主要跟着一个老师的思路和顺序走,其他老师的作为不同角度的掌握),假设这个老师是A,听完课后如果觉得A讲的这节你不是很懂,那么一定要去看B老师讲的这节的内容,如果还不懂那就看C讲的的这节,D,E,F老师同理。。*****强烈建议!!!!看视频一定要做笔记!!!不然看了也白看,除非你有过目不忘的才能。。******
THREE:
硬件的东西说完了接下来我们就来聊聊方法,首先Java是一门语言,然后语言是用来和计算机沟通实现一定的功能,也就是说,语言是为需求而生滴。。所以你必须先有一个需求,比如你想用Java编写一个小游戏,那么你的初级阶段的学习就该是为了实现这个目标不断奋斗,兴趣使然嘛这样你就不会觉得累枯燥
(当初我学Java就有一个。。。特别奇怪的开始,记得那是一个夜黑风高的寒假,我姑姑家有一家店门相当于超市吧,啥都卖,过年特别忙,于是乎我被拉去当苦力,摆在我面前的是。。有无数程序的结账抄写过程,需要人力暴力操作。。我受不了了,开学我就开始学JavaAWT和SWING编程,第二个假期回家编了个界面程序给它,量身定做解决他的一切需求)额,说了这么多我只是想说要有明确的目标知道你要干啥,在干啥。。
FOUR:
学习初期你肯定会有千千万万个问题,心里有无数疑惑,这时候千万不要急躁,不要放弃。。解决方法应该是,有疑惑尽量请教别人,如果你觉得怕麻烦别人,那么请你去翻书,我建议不懂的地方要多看几本书的这个知识点,因为老师不同讲解的思路角度也不同,就像买鞋,一定有一款适合你。。如果你懒到书都不想翻,那么没关系,你就把这点疑惑完全的一字不落背下来。。多思考,有那么一天,往后走着走着你就会发现前面豁然开朗。。
FIVE:
最后也是最重要的一个就是代码量。。一定要多敲,不要眼高手低。。往往敲代码的时候你才可以发现问题。。我始终相信一句话,泪水和汗水这类东西,如果你流多了上天它自然会给予你一些东西来作为交换的礼物。。贵在坚持,忘记了在哪里看到的一句话,如果你的耐力和野心不相匹配,那么你最多也就是一个笑话。
额,我知道的只有这些了,说了这么多答主也每天在学习,希望大家一起讨论,说的不准确的多多包涵。。感谢看到这儿的人,费着这么大的劲读完,大家辛苦了。。。原谅答主语文不算特别好。。大家加油,为做一个充满幸福感的码农奋斗,。

Answer 5

原文: java学习成长之路,给初学者的建议和书籍,网站推荐

1.JAVA基础(文件IO,集合,线程,反射)这几大块搞懂应该就OK了。

2.J2EE(servlet,JSP),这个多实践,熟悉了就OK。

3.前端(html,JS,CSS,AJAX)虽然不用精通,起码要看得懂,能写点简单的吧。

4.DB(MySQL)至少要能多表查询,做到简单的SQL优化,能做DB设计吧

5.框架(spring,springMVC,hibernate/ibatis)SSH或者SSI至少要有一套能做到自己搭建,自己完成一个项目。

6.配置(tomcat,nginx…)至少要做到会配置吧。

做到这些,恭喜,你已经算是个合格的中级JAVA程序员了

Answer 6

本回答已授权MOOC学院微信转载(GuokrMOOC)(感谢MOOC学院!!

啊这个问题好对口2333 随便写一写~ 搭环境我就不管了 哈哈哈

不同的人有不同的学习习惯,有人喜欢看书,有人喜欢看视频
(当初和基友一起学Android,一个满论坛的找视频教程满论坛的感谢楼主,一个领着有道去啃谷歌文档,最后发现殊途同归。但感觉国内论坛里的视频质量依赖于制作者自己对知识的理解,参差不齐,有顾虑的话可以去看各大学出的在线课程,如国外Coursera之类的平台)So。。。

第一部分,书
0x01
不论有没有其他语言基础都推荐看看《HeadFirst Java》
Head First Java(第二版·中文版)
Image
没有基础的同学可以在逗逼的气氛中搞定基础语法、体会面向对象的思想~
有编程基础的同学也会发现原来技术书也可以写成这样!比如:
Image
一定要动手实践!一定要动手实践!一定要动手实践!重要的事情说三遍!否则当别人问起你:Hey!《headfirst》这书咋样的时候,估计你也只记得老板娘的侄女了!个人认为,无论学什么,这都是第一要义,当你拿起键盘的时候就会发现,脑袋里的代码和能顺利编译运行的代码完全不是一个物种!

0x02

看完了《HeadFirst Java》还推荐另一本HeadFirst系列的书《HeadFirst 设计模式》

Head First 设计模式(中文版)

推荐理由:简单有趣、还能把关键的东西说明白,又不会被突然出现的一堆概念绕晕。
入门书最关键的一点是别把学习者吓走!
这也是先不推荐《设计模式:可复用面向对象软件的基础》的原因(即使它更薄。。。),虽然很多人都说是经典、是著作。其实感觉《设计模式:可复用面向对象软件的基础》这种书可以等有了一定经验想继续深入学习的时候再看,同理的还有《计算机程序的构造和解释》之类等经典(此处可喷。。。)
同上,光看书是整不明白设计模式的,还是要写写写!

啥?设计模式有啥用?可以去看看轮子哥的专栏~

为什么我们需要学习(设计)模式 – vczh的日常 – 知乎专栏

0x03

看完了前面两本,就可以看看《Java编程思想》了
Java编程思想 (第4版)

学习不能一直逗逼下去,知其然更要知其所以然。书里很多章节读完之后内心都会冒出来一句”擦!原来是这样!”或者”还可以这样!”~这本书可以穿插在你整个的Java学习中一直看下去,据说不管你Java什么水平,每次读都会有新的收获。PS:少年郎英语好的话可以去看英文原版

0x04

还有万能的李刚写的《疯狂Java讲义》,这书不能说不好,也说不出哪儿好(原谅我。。。),散发着一种浓浓的培训班味道,但重印了好几次也肯定是有适合的人群,这也是我写出来的原因,可以一看。看了感觉没用可以垫显示器。。。

0x05

InfoQ的专栏专栏合集(一):Java深度历险感觉写的也挺好,还有pdf下载,可以作为课外读物没事儿看看

第二部分,视频/在线课程(是现在很流行的方式,比看书有意思那么一点,更容易坚持吧。。

(都是名牌学校的名牌课程。。只能说MOOC是个好东西啊。。)

面向对象 Java 程序设计 Object Oriented Programming in Java Coursera

Java 编程入门 Intro to JAVA Programming: Building Programs with Classes & Objects Udacity

Java编程导论(第1部分) Introduction to Java Programming: Part 1 edX

Java编程导论(第2部分) Introduction to Java Programming: Part 2 edX

Java入门第一季 (慕课网也算是程序员都知道的网站了。。这个系列课程好像还蛮多的,没仔细上过不过看到知乎上还蛮多人推荐。。)

斯坦福大学公开课:编程方法学

其实入门的话,感觉这些就差不多了。但光看书和视频还不够,语言只是工具,最终还是要有所用。项目驱动的学习最好玩儿了!J2EE可以继续学各种框架,学网络的话干脆自己实现一个简单点儿的网络框架,或者研究一下ASM这种貌似黑科技的东东;Android的话就多啦,看看官方文档和各种博客、视频~有各种App各种自定义效果可以做。上有Dribbble上漂亮且变态的设计稿~下有Xposed这种逆天的存在,从View到JNI,就看你的脑洞有多大了~知乎上也有很多Android入门的问题,比如Android开发的经典入门教材和学习路线? – 编程

关键是有目标+动手,而且等到你的已有知识满足不了你折腾的欲望时,下一步要学啥也就不用过来问了~

另外

如果你想做一个勇立时代潮头的弄潮猿!个人认为还可以学一下其他的编程思想,比如函数式编程啥的。Java8出来的时间也不短了,看到Lambda表达式直接傻眼就不好玩了。也不一定要看跟Java有关的书,了解一下不同的编程思想,试着换个角度看看这个世界~(而且Haskell也不会经常告诉你”找不到对象”!)

Image
函数式编程思维 (豆瓣)

函数式编程导论 Introduction to Functional Programming edX

编程范式-基础 Paradigms of Computer Programming

最后扯点别的

  • 善用搜索、机智提问:这个不用多说了吧 && Google > Baidu,还可以看看《提问的艺术》
  • 想好再写:面对一个问题/需求,不要着急写代码。理解问题、理清思路再动手,事半功倍。
  • 多看代码多实践:三人行必有我师,说不定谁的一行代码就会给你带来启发,某个框架的模式比你当下用到的更合理,也可能在Github的某处发现更好的编码风格等等。而且有时候即时照着别人的代码抄,运行起来也可能Bug一堆
  • 多做笔记:尤其是视频,书都有目录但很少有视频教程有类似优酷那样的内容节点,万一哪天有个知识点你只记得在哪个视频里出现过,再现找就浪费时间了。而且把学到的东西用自己的话表达出来,本身就是一个消化理解的过程。

个人认为,书和视频只是敲门砖~比书和视频更重要的是良好的编程和思维习惯、扎实的基础、强烈的求知欲和热情(一看代码就脑袋疼,那你还学它干啥。。。)。虽然每一项都不简单,但至少有个目标,在平时的学习中也可以着重锻炼一下。

最后的最后

还有几个相关网站和App

  • 选择性的关注一些知乎话题:虽说知乎在不断水化,但牛人还是不少,顺便把牛人们都关注了,多好!
  • IBM的开发者社区:在Google上搜Java相关的问题总会有这上面的文章,质量都挺高的,具体链接就不写了,看缘分吧施主
  • StackOverflow:程序员的百度知道(这么说是不是抬举百度了。。。逃)
  • Github:大型、在线学习、在线得瑟、同性交友社区(即使刨去大量的优秀代码,能熟练使用Git也是相当有用的技能)
  • 开发者头条:由码农周刊进化而来,国内外动态都有,干货也不少,挑自己感兴趣的看看吧
  • 稀土掘金:和上面差不多,也是面向程序员的聚合类阅读APP,UI能比上面的好看点儿。。。对了,还有个推酷
  • MOOC学院:在线课程界的大众点评,习惯看视频的话可以试试,还可以写写笔记啥的。。。
    顺便吐槽:突然发现他们还做了个App(MOOC同学———为学习相聚),以为可以在手机上看课程视频,装了之后发现我想多了。。。走的社交方向。。。本想吐槽但想想也对,好多类似Coursera的平台都有自己的App,同理大众点评也不卖厨师嘛。愿意学习的时候有个伴儿的话可以下一个,说不定还能有个面基啥的。。。(程序猿的面基啊不敢想

(喂喂!上面四个APP有人在吗?我给你们打广告啦!有广告费吗!&& 知乎啥时候支持Markdown啊)

Answer 7

推荐一个网站 Software Development & Entrepreneurship Tutorials

Answer 8

新手学习Java不是不努力,而是不知道从何学起和有哪些技术知识需要了解。看下这个 Java工程师资源列表, Java工程师网址导航,让你从此对Java技术一览无余,它还可以访问Google哦
还有书籍推荐
Image

Answer 9

其实我觉得最好得方法就是找视频看,可以对照着学习路线图一起。如果你是自学的话,一定一定要坚持下去!!!这套视频我觉得还不错,你也可以看看! http://java.itcast.cn/news/e393b086/ebce/4f94/9d48/94ed86bcf5ef.shtml?zh

Answer 10

2015年4月30日更

入门书籍读过的书籍中,作为经典的《core java》和《thinking in Java》,这两本书正好都读过。
个人的浅见是《core Java》更加适合刚入门的程序员。
判断一门书是否适合入门,规则很简单,我定义的规则有两条:
特性规则:这本书是否很清晰明了的介绍了这门编程语言的特性;
易懂规则:是否设计了一些精良的例子来引导读者去了解这些术语,以及相关的编程思想。
在特性规则上,《core java》和《thinking in Java》旗鼓相当,基本上涵盖了所有的Java特性。而易懂规则上,《core java》表现优越多了。《thinking in Java》的例子要么重复繁琐,要么没有循序渐进。而另外的体现在于《core java》章节安排比较合理,很多读者听信了《thinking in Java》是Java编程的圣经级书籍,买来一看,第一章没看完就直接晕菜了,原因也在于章节安排太槽糕。

另外,听我妹子说,《head first Java》图文并茂,读起来轻松异常,值得推荐。

原文如下:
我觉得语言的学习不是独立的,若说学语法的话,随便一本书,看前面几章就好了。真正展现功力的都在语言之外的东西。计算机相关的知识,应用相关的知识等~比如我们从小就学会用语文(语法)了,但是我们写作文(demo)好不好,编书或者大作文(项目)水平怎样,都和一些其他知识有关了~一起加油!

Answer 11

关于如何自学 Java,这里已经有非常详尽的回答了,可以参考一下: 会计转行从事IT,如何在一年时间内全职学习? – Night Silent 的回答

java 自学群:151280557,每晚统一解答问题
Image

Answer 12

初学者的话建议看视频,找搞笑幽默风格的,网上很多免费视频,学习JAVASE基础足够,在此不作推荐以免有打广告嫌疑,基础打牢了再开始看书提高,然后再找视频学习项目,跟着项目有走是最提高能力的,当然一切的一切还是要记住一点,那就是光看光记是不行的,一定要动手敲代码,码农都是敲出来的,我们有编程交流群见我主页简介,欢迎加入交流,找一群志同道合的一起交流学习进步是最快的,祝好。

Answer 13

诸位很多位都跑题了。楼主是问入门经验,我来抛干货吧
知乎上类似的问题比较多,兄弟看看我之前的一个回答

Java入门谁讲的好? – 靳洪飞的回答
JAVA求经验 ? – 靳洪飞的回答

希望对你有所帮助

Answer 14

如果是新手,建议先看看马或者毕的基础视频,一个月左右,接着根据需求,主要是web或者安卓方向学习,学习的过程中记住做完一个项目必须马上回顾里面所用到的技术,比如设计模式。等你做了一些项目后,记得回来看core java 这些书籍,有助于你巩固java基础。当然,java写东西离不开框架,一旦你用了某些框架,用完后请务必了解框架背后的思想或者学源码,等你看多了了解多了渐渐地可以自己造轮子。否则如果你只是用框架,面试的时候你就炸了

Answer 15

看你想学到多深了,如果只是想立马做出实际项目的话。。。我当时是看了一周的java就直接奔android了,后来jsp servlet也是看了几天就能做出大一点的项目了。到今天我也只能说初步掌握了java基础,去面试大公司的java工作估计没希望

Answer 16

有一个必须推荐给你的课程!!!
里面这个java入门课程特别的火,有十几万人在学! Java入门第一季
如果,你学进去了,可以根据这个学习计划来 Java工程师_学习计划
现在就开始种这棵树吧!不要流于空谈才好(吼吼~我在说我自己~)

Answer 17

Image

Answer 18

在学校里学习了C++,找工作的时候信心满满地对面试官说”我有自信能很快学会java”,居然真通过了。
入职前看了一点java的语法,基本看过就忘了。入职之后,老大让我看了两周的thinking in java,基本就是过了一下语法,然后就开始干活了。当然我现在还是初学者的水平,不过自认为已经入了门槛,之后就是慢慢提升了。
如果题主没有其他语言的基础,可以参考我学C++的方法,就是看视频,一边看一边跟着写,一套不行看两套,慢慢就会了。
其实java语法学会之后,还有好几关要过,据我了解包括操作系统 jvm 网络编程相关的spring和struts等等。就像一座座山,喜欢山顶风景的人自会一道道去爬。
水平有限,希望对大家有些用处。

Answer 19

《java编程思想》多看几遍。每次觉得没什么成长的时候就翻一遍,每一次都有不少收获。我之前的经理,都工作10年了,闲的时候还在翻这本书。

Answer 20

我是看 高淇300级 入门的现在工作啦。 关键还是 心静下来,一行一行敲代码,慢慢就入门啦。

原始链接

0
特别说明: 本站资源来源于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担 如有侵犯您的版权,请及时联系admin@wangluomei.com,我们将尽快处理
没有账号? 忘记密码?