10-4-22
10-4-22
Java学习之路_03学好基本功JavaSE
提示:阅读本章前请您先阅读《旺旺老师Java学习之路》的第一,二部分。
您选择了Java帮,而且愿意与旺旺共同探讨Java,那旺旺就要给你Java学习路线图, 与您分享一些Java学习方法与Java学习心得。所以第三部分我会分为三章来讲解:JavaSE学习路线图,JavaSE学习方法,JavaSE学习心得。
第一章:JavaSE学习路线图
我们知道Java有三个方向,JavaSE,JavaME,JavaEE(老程序员可能会叫J2EE等,不过SUN已经改名了)。JavaME主要是嵌入式与游戏开发,旺旺没有这方面的工作经验,暂时不谈;那我们先看JavaSE,因为只有学好了JavaSE才可以学JavaEE,所以说JavaSE是JavaEE的根基。
治学先治史。Java的历史当然得了解,但除去与别人讨论卖弄工作基本用不到,您可以暂时放放,那天累了调剂学习。旺旺老师,那能知道他的历史呢?google,baidu搜吧!以后要养成个意识,凡是不了解想明白的东西就上google,baidu,不仅仅限于编程知识。
下面我们详细看JavaSE学习路线:
1, Java跨平台原理,JDK的部署与HelloWorld。您得知道Java跨平台原理(第二部分中没说java跨平台的优势,感觉地球人都知道,这提下),知道怎么配置环境变量以及编写一个HelloWorld程序。(废话篇:想起一笑话,一程序员痴迷书法,遂买来文房四宝,在书房中挥毫泼墨,严肃认真的写下了自己第一个作品后欣然微笑,众人一看:“HelloWorld”)。
2, 程序的基本语法,比如什么是常量变量流程控制循环等任何一门编程语言都必备的知识,再学习下冒泡啊递归啊等算法,然后给数组排个序,打印个或实心或空心三角形等这些玩意。如果您学过C,C++这会非常轻松。
3, 学习Java的OOP,这是重点也是难点,旺旺老师上课常对学生说,你们要想听一遍课就熟练应用这些知识基本是不可能的。一个优秀的老师能把这些给你讲清楚就已经非常了不起了,同样一个优秀的学生能把这些概念背下来在看到类似的代码知道原因也非常了不起。至于创造,旺旺建议先别要求那么高。那旺旺说先把OOP众多概念背下来,以后JavaEE的学习中,在项目代码中再体会理解。所以这部分重点是理解加背概念。下面给的是旺旺老师的平时讲课顺序
a) 学习类和对象的知识,知道什么是类与对象以及在java中如何创建类与对象(旺旺老师这部分视频与电子书已经完成,欢迎下载,登录www.easyitedu.com了解详情)。
b) 包的知识
c) java中数据类型的分类(值类型,引用类型)
d) 声明对象与创建对象
e) java中方法参数的两种传递方式。
f) 构造方法
g) 继承以及继承的特点(this与super关键字)
h) 封装,包括访问修饰符
i) 抽象类,接口
j) 多态(方法重载与方法重写),知道抽象类接口都是为多态服务
k) static与final关键字
l) 用以上的知识做一个面向对象的某某管理系统(当然最好老师带着做)
4, 异常包括分类以及五个关键字try catch finally throw throws
5, 集合框架
6, 到这如果想做个有成就感的程序可以直接学习JDBC,当然这需要您数据库的知识的支持(比如能建库建表,会增删改查的sql语句),然后可以做个控制台版本的某某管理软件。当然您这个系统一定要使用vo类,要使用DAO模式,最好能加上接口编写两个DAO实现,Statement与PreparedStatement各一个,在此基础上更深刻的理解OOP编程。
7, 设计模式的知识这时您也可以学习一些,了解工厂,单态这两种设计模式,然后使用它重构您上面做好的管理系统。
(到这里,如果您急的找工作就业,也算小有所成,可以做个合格的小师弟了,然后向大师兄努力,学习JavaWeb;如果您不急着就业,可以把基本功练的更扎实些,可以接着学习下面三部分的知识)
8, 多线程编程
9, 网络编程
10, Java中的I/O操作
(以上三部分知识有个共同的特点是相对于前面七点在工作项目代码中使用很少,但理论还是相当重要,比如作为程序员您总得知道进程线程的区别联系吧,而且好多工具的底层就用到这些知识,比如JavaWeb部分我们使用的WebServer一定是个多线程的容器,它要与客户端通信一定需要网络编程,要处理用户的请求数据给客户端相应数据一定需要流来读写,所以这部分知识必须学,只不过您可以先暂时放放以后再学)
11, AWT-SWING/SWT:
前两天还有同学问我说java是不是不能进行C/S结构程序开发,当然可以了。Java开发C/S 结构程序可以使用两个技术,一个是AWT/SWING,这个是SUN搞出来的,比如Java以前非常火的一个IDE工具JBuilder就是用它开发的;还有一个是SWT,这个最早是由IBM发明的,用的语言还是JAVA,但API已经与SWING不同了,比如现在非常好用的Eclipse就是用它开发的。旺旺以前一个项目准备使用SWT,所以学了一段时间,但最后也没用,而使用Biz/Designer(此技术收费产品,富客户端,非常类似于现在的Flex)。
写这些内容旺旺从老师的角度心情非常复杂,不知道该不该讲这部分知识。因为用java开发C/S程序相对于winform除了能夸平台并没有什么优势可言,比如复杂的技术,比如没有很好的开发工具支持快速开发(jb还可以eclipse生成的代码太乱了),比如运行超多内存的占用,所以现在使用Java开发C/S程序的少之有少,企业的招聘岗位少之有少,那就不讲不学了吧!但您搞软件开发总得写过些C/S程序吧,总得知道C/S下如何做权限,如何共享数据这些基本知识吧,而且AWT/SWING中用到了很多优秀OO设计思想,更高兴的是学习完这可以把我们前面做的控制台版本的管理系统挂上形成一个可给用户交互使用的系统,所以您有时间,学吧,急着找工作,就别学了(如果找工作顺利,那以后估计永远也不会学了,不信打赌?)。
12, Java的新特性
以前喜欢说JDK1.5的新特性,现在Java7马上也出来了,也不算啥新特性,这部分知识包括:static import,泛型,注解,可变参数等,比如泛型应该在讲解集合框架中说明,这部分也应该学习,但注解建议了解,等成大师兄后再详细学习。
13, 反射
反射的知识也属于JavaSE的内容,但旺旺也建议暂时不要学习,等到高级阶段,自己有一些代码经验积累后再详细学习,反射的代码虽然工作项目代码使用较少,但很多框架或者你搞底层开发也一定是用得到的。
总结:上面的学习路线图旺旺虽然写了13条,但如果您想速成的话先学习前面七条就可以了,或者从另外一个角度说,掌握了前面七条暂时可以像更高的阶段JavaWeb进发了,还是老话,如果您不着急工作,那就都学吧!
第二章:JavaSE学习方法
一,工具篇,工欲善其事必先利其器。旺旺使用印象最深的三个工具是jcreator,jbuilder,eclipse,其他现在偶尔使用的有netbeans。这里建议使用eclipse,因为它除去书签的使用没有jbuilder方便其他都比前者强(个人观点,如果那位高手对此有异议欢迎交流),而且还是免费的。而且旺旺建议从第二点java基础语法就开始使用。原因有:第一,可以在编译阶段报出你所犯的错误,清晰方便;第二,有现成的能生成代码的模板为什么不直接用呢?难道要一遍遍的手敲for(int i=0;i<=10;i++)这些代码才算高级,多浪费时间啊;第三,如果您能学会调试断点跟踪,那找比如运行时错误或逻辑错误是非常方便的;第四,旺旺个人喜欢,因为自己从eclipse2.1就有的用,自己喜欢的东西像别人推荐是人的天性,旺旺是人,当然推荐(呕吐中,哈哈,吐啊吐啊就吐习惯了)!还有eclipse与myeclipse的区别与联系,第四部分讲JavaWeb时再说吧!大家知道现在使用eclipse就可以了。这里强调下如果您搞SWING开发,那也建议使用下Jbuilder,因为eclipse虽然也有插件支持快速开发,但并没有jbuilder支持的好(关于eclipse使用方法,旺旺后续也有相关视频,欢迎大家关注)。
二,教材篇,有很多同学问我希望我推荐一本Java学习的书籍(郁闷,多么希望自己能勤快点把《跟旺旺老师学Java》这本书写完,旺旺保证,会非常适合初学,希望大家关注,到时自己学习或推荐给朋友,谢谢),这里给大家说,如果你入门,千万别买厚的,千万别买《java编程思想》看,旺旺并不是说这本书不好,只是你现在功夫还达不到,等最起码有三万行代码量后再反过来去看它吧!那买什么呢?去书店逛,把最薄的那本拿下来,那就是自己最需要的。薄书一般讲的浅显,适合入门;薄书一般看的快,学完有成就感,能增强学习java的信心;薄书作者与出版社不打算用它捞钱,为页数而拼凑的内容较少。关于书籍,旺旺就说这么多,希望对大家有所帮助。
三,视频篇,现在网络上有很多Java学习的视频,我认为,只要是免费的就是好的,而且这位老师敢把视频放到网络上水平也不会差,那大家也没时间每个人的都看一遍,旺旺教你个方法,找某个知识点比如线程,比如类和对象,把你能收集到的每个视频都看一遍,然后找自己最喜欢的风格,那就是最适合你的。因为每个老师都有自己的风格,有的严谨古板,比较沉闷,有的生动活拨,但有失严肃,旺旺不多说,怕一不小心得罪那位老师,大家甄别,然后选最适合自己的。同时旺旺老师已经把上面路线图一部分视频录制完,下次从第一次开始录,内容与路线图一致,欢迎大家观看学习,通过www.easyitedu.com了解详情。
第三章:JavaSE学习心得
在公司工作开发,可能使用各种各样的框架,有些是现成的如struts,spring,hibernate,有些是再在它们的基础上封装一层(虽然底层还是这,但你基本上看不到框架提供的api),有些干脆是自己编写的。前三种无论那种方式框架,在你开发的这个项目的第二个模块后就与框架无关了,用的最多的并不是某个框架的知识,还是JavaSE,JavaWeb这些基础的东西,旺旺这些话您可能还不理解,放心,只要在java这条路上走下去,有一天会理解的,而且会写出自己的框架。就像练功蹲马步很重要一样,这里JavaSE基础是很重要的,基础是根本,所以请您扎好马步,打好基础。
题接第一部分,如果您学好这些知识,就可以去江湖小闯一番了,虽然可以打败偷鸡摸狗的社会小混混与打老婆的赌鬼烟鬼之流的人(不如把他们称为圈外人士),但在江湖中你还处于社会的底层,也就仅仅高于种菜挑水做饭的师傅,大家都叫你小师弟,那怎么成为大师兄呢?欢迎关注旺旺老师java学习之路的第四部分:我做大师兄之JavaWeb编程。
其他:旺旺老师拥有七年软件开发相关经验,四年软件教育经验。带过的学生已将近千人,他们当中最多的是大专生,本科生,其次是高中生,最后还有十几个研究生。说这些并不是想证明旺旺有多么了不起,想告诉大家旺旺只是根据教育经验总结了一些学习观点和方法,希望能给现在学习编程的朋友一些参考帮助,如果哪位技术高手看到这篇文章有不同的观点,欢迎理智留言,谢绝无素质的攻击谩骂。同时如果您觉得文章不错,欢迎转载。也欢迎您访问旺旺老师个人网站:www.easyitedu.com (简单it学习网,学习it变简单),那里有旺旺老师的教学视频与电子教程下载。
您选择了Java帮,而且愿意与旺旺共同探讨Java,那旺旺就要给你Java学习路线图, 与您分享一些Java学习方法与Java学习心得。所以第三部分我会分为三章来讲解:JavaSE学习路线图,JavaSE学习方法,JavaSE学习心得。