现在将我的自学心得与java初学者,和正在自学的童鞋分享,希望你们能少走弯路,早日学成,找份满意的工作。首先要搞清楚自己为什么要自学编程,我是上大学后才接触计算机,我最初的想法是学好编程可以做一个自己的网站,后来发现做个网站实在是很容易的,学好java编程可以有高薪的收入,而且以后的工作可以不用到处跑,可以天天坐办公室,这才是我向往的工作,于是我下定决心要自学java。自学最重要的是心态和毅力,如果毅力不够坚定自学很难坚持下来,自学是孤独寂寞的,同时也是快乐的。也许你身边没有人在自学java编程,所以你是寂寞的,但是当你调通了一个程序,或者写出一点小玩意儿,他们也不能理解,那种收获的喜悦也只有自己能够体会。自学是漫长的艰难的,之前看到市面上有一些书,什么21天精通java,对于这样的书,我只能 呵呵。
学习需要循序渐进,没有捷径,只能一步一个脚印,我是从大二开始自学java的一直到大四毕业。自学会遇到这样那样的问题没有人来帮我解答,网络是个非常好的工具,当我们遇到问题时,我们要借助网络资源,你遇到的问题别人也一定遇到过。我们可以在网上找解决方案,也可以加一些编程群去询问,也可以在一些论坛发帖子咨询,这些都是解决方案。好了,如果以上的你都能做到,那么你可以开始自学java编程了,如果做不到笔者奉劝你还是不要开始,因为如果坚持不下来最终会功亏一篑,还会耽误你很多的时间。言归正传,自学我选择的是视频和书本。现在网络上的视频大把,我当时是看的马士兵的javase教程,感觉还不错,书我在图书馆借了好几本,以计算机专业的java编程教材为主,具体的书名称我忘记了,封面是绿色的。大家不要下好几套视频,然后这个人的看看,那个人的看看,这样很不好,也会让你厌倦,最好选择一套视频就可以了,坚持看下来。一般一个知识点我会看三遍,当然如果领悟能力强的同学不用看三遍。第一遍,认认真真的看,第二遍边看边对着敲代码,看完第二遍之后,自己试着多运行,感觉差不多了,然后自己在不借助任何资料的情况下,完全自己敲一遍,最后再看第三遍回味理解一下。自学一定要多动手,这个非常非常重要。
关于编写工具,有的童鞋一开始就用eclipse等一些先进的工具来进行代码编写,笔者非常不推荐这种做法,像eclipse这种IDE工具,是为了在工作中提高工作效率的。对于初学者最好不要用这些个工具,笔者推荐大家用UltraEdit或者EditPlus 3 或者Notepad++ 这种文本编辑器来写java代码,用这些工具写会让你更加牢固的记住java语法。等你用这些文本工具能写程序了,你再用eclipse写代码,你就能体会到什么叫飞一般的感觉。关于学习的顺序首先是javase:基础语法、递归、面向对象、异常处理、数组、常用类、IO 、线程、网络编程基本的章节顺序就是这样的,对于图形界面那部分,完全可以抛弃,因为图形界面不是java的强项,现在也极少数的公司用图形界面来做应用。前面的部分,也就是除了 线程、网络编程 这2块的都要学好。是不是线程、网络编程就不重要呢,错,这2块很重要,但是目前的javaEE项目用的比较少,应该说对于一个刚工作的人来说,很少会接触到这2块。
因为这2块的内容相对比较难一点,所以在开始学的时候,可以先学一下,如果不是很理解也不打紧,等以后慢慢的再自己去摸索,这2块对于一个初学者来说可以稍微放宽一点,但是不能不学,现在不学以后也一定要回头补上的。学好了javaSE就是java基础的一些东西之后,我们可以选择做javaEE也就是web项目,也可以选择做android手机应用。笔者是做javaEE的,所以就介绍下javaEE的学习。有很多人在学完了javaSE之后就开始学习javaEE的框架了,什么SSH总挂在嘴边,其实你离这些框架还很远。在这里推荐大家加下我的Java学习交流qun:前面六四一,中间一二一,最后九四八,里面有不错的教程和开发工具。
在学javaEE之前,请大家先学这几个 html,css,js 。有的人估计又要笑了,我是做后台的,学这些个东西没啥用。其实做web的不会这些东西很可笑的,在以后的工作中,难免会遇到前后台都要写的,只写后台的很少,或者说刚出来的就让你只写后台的很少。html,css 这些的编写我也建议用UltraEdit或者EditPlus 3 或者Notepad++ 而不是dreamweaver 这类工具来写,手写html你会发现以后的兼容问题会少很多,对于程序员来说html,css算不得编程语言,只是一些标签而已,这些一个星期可以学精通。最后说说js,js其实是比较深奥的,对于初学者,掌握基本的js操作就可以了,会基本的语法,能对dom元素进行熟练的操作,能做一些简单的效果就可以了。js的学习是个漫长的过程,在以后的学习和工作中再慢慢加强。建议先学好js再用下jquery这类框架的js,一开始上手就用jquery,原生态的js不会就用这些框架,感觉有有点那个啥了。html,css,js学完了,你就可以学习jsp了。可以用jsp做点小的应用,比如一个小小的留言板啊什么的,在学jsp的时候要同时学习数据库,笔者推荐学习mysql 简单易用,而且目前很多公司都是用的mysql,像腾讯也是用mysql。
等jsp学好了,就可以学习servlet了,servlet是重点,像现在的一些框架struts 这样的框架都是基于servlet的。等servlet学好了,大家就可以用eclipse了。用eclipse进行项目开发了,这个时候你会发现很得心应手。学了这么久了也是要出成果的时候了,那么好吧,就用jsp+servlet+javabean+jdbc 写个bbs论坛吧,如果你不借用别人的代码,完全自己写的,当然遇到问题是可以借助网络资源的,可以查资料,但是整个论坛的代码到数据库设计要是自己完成的。等你bbs论坛写好了,那么恭喜你,你已经学的差不多了。为什么要写个bbs论坛,不要小看一个bbs论坛,涉及到的东西很多,比如对数据库 基本的增删改查操作,bbs不同的人是有不同的权限的,这里就涉及到权限的问题,等等,做这个论坛是对已经学的内容的应用,也是一个复习的过程。等你把论坛做好了,那么你对基础的东西就已经八九不离十了,这个时候在看看一些开源的框架 struts spring hibernate ibatis 等这些,你再学这些的时候,你会发现其实这些并不难。
当然喽,最好在学这些之前学一下设计模式,设计模式也是很重要的。这些框架都是建立在非常好的设计模式下的。这些框架看完之后,是不是可以将自己的论坛改成用这些个框架来实现一下列,做完了,那么我可以告诉你你可以去找工作了,再找一些笔试的题目做做,就可以很容易的找到满意的工作了。如果你把我以上说到的都做到了,你还找不到工作,你可以来找我,我给你发工资,呵呵。我们程序员是做技术的,所以要一直不断的学习,java其实深奥的很,要学的东西很多,其实我也是不是什么大牛,这里就不敢大谈特谈,只说下自己的自学经历,希望能给正在自学或者正在初学java的童鞋一点帮助。
这是原来的学习方法,最近看到很多人还在看,所以决定稍微加一些东西,避免初学者走弯路。现在Spring系列框架比较多,学过J2SE和J2EE 基础后,如果想继续学JaveWeb方面的知识,推荐学习SpringMVC、SpringBoot、SpringData。使用起来会更加的便捷。