Groups
Groups
Sign in
Groups
Groups
鸿蒙的个人论坛
Conversations
About
Send feedback
Help
java学习之经验谈
0 views
Skip to first unread message
鸿蒙
unread,
Sep 1, 2008, 11:28:45 PM
9/1/08
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to 软思论坛
Java Learn Steps-JSP教程,Java技巧及代码
来源: 作者: 发布时间:2007-12-27
我个人的经验,学习
java
应分以下几个阶段:
java
的语法学习
面向对象观念的建立
java
基本类库的学习
学习设计模式
应用设计模式
经过大量的实践,能够设计模式
以上六个阶段,其中前三个阶段是针对
java
的,但
java
中,在很多设计模式的应用,同时有很多功能都支持设计模式,所以不懂设计模式的人是不会很好的应用
java
做研发的。第4、5个阶段的学习在前三个阶段的基础上,学习、应用成功的经验。从而进入第六个阶段,在软件设计这个领域尽情发挥。本人受能力所限,还处在第4个阶段的学习过程,所以会对前四个阶段说明。第五、六个阶段只是我根据我自己的知识做的推断,还没有经验无法说明。
在对这些学习阶段进行阐述之前,我先说一下我的学习方法。在学习新的知识时我通常是按以下三个阶段学的理论学习。通过对理论的学习,尽量了解新知识的概念;学习之后只是粗略的了解概念,不能和实际很好的结合。
演绎阶段。根据理论学习的知识,考虑在什么场合下能够应用这个新知识,哪些地方已应用了这个概念,建立对新知识的感性认识。
归纳阶段。从一个更深的层次理解理论。
以下根据
java
的六个学习阶段阐述我的体会,而每个阶段将按照理论学习、演绎和归纳三个小阶段讨论。
java
语法的学习
语法学习的理论学习阶段是最容易的阶段,70%以上的
java
书主要介绍的就是
java
语法,随意买来一本,通读一下就能够,主要理解以下内容:(1)数据类型,(2)操作符,(3)控制流程,(4)类和类再生,(5)包和接口,(6)异常操作。
在理论学习阶段,不必过于注重细节,只要对
java
的基本语法有一个整体认识,能读懂示例的源代码就能够了。
下一步就是演绎阶段,应用所学的语法知识,编写简单的程式。最好凭自己的记忆,将各语法要点都用一遍(编写代码最好用notepad),对自己不熟悉的语法要重新阅读,用编译器去检查语法错误。这个阶段的目标是脱离书本连同
java
api能编写简单的程式,阅读一个
java
源代码能说出执行结果。
完成这个阶段的学习,参加scjp的考试,应该获得较高的成绩。
在演绎阶段的基础上,根据自己犯过的错误,总结一下
java
的难点。重新阅读语法书,将一些自己不是很清楚的概念重新整理一下,这时您对
java
语法的理解比第一次阅读时更深了。
我在刚开始学
java
时,只是粗略的看看语法书,就开始编程式了,碰到不懂的就重新阅读语法书,这样,完万能够成为一个合格程式员,但是当我成为team
leader时,为了培训组员
java
编程,却发现自己脱离了
java
语法书和
java
api,竟然会的不多(
java
集成研发工具备提示功能),为了培训,我又重新学了一遍
java
语法,很有收获。
其实一个优秀的程式员,不但要能写出好的程式,更重要的是,对所写的程式能说的清楚:
(1)说清楚程式的功能(2)说清楚程式的结构。而说清楚程式的结构的基础是对
java
的语法要熟悉。想成为优秀的程式员,一定要在学习语法的基础上,不断实践,不断总结,最终能脱离语法书,将
java
语法系统的讲解清楚。
曾面试过一些
java
程式员,我出的题目是在使用
java
时,经常用到哪些类,在哪个包里。很少有人能答好,甚至有人做了2年
java
程式都没有回答出,他们会用
java
,但必须依赖工具(指
java
集成开工具),我觉得他们能够编写出程式,但不能编写出特别好得程式。
我认为作为
java
程式员必须掌控
java
类库的两个包:
java
.lang和
java
.util这两个包。
java
.lang包提供的是
java
编程要用到的基本类包,
java
程式员天天在用,无非是看别人如何用,自己就如何用,但很少有人去总结一下,比如string
和stringbuffer这两个类有什么差别,应该有很多
java
程式员说不出来。另外vector和hashmap这两个类大家都在用,有多少人能说清楚vector和hashmap继承了哪些类,实现了哪些接口呢。
理论学习。认真阅读
java
api的以下内容:
java
.lang包中的string ,stringbuffer,number,double,float,byte,short,integer,long,character,boolean,process,runtime,system,object,cloneable,class,classloader,thread,threadgroup,runnable,package 类或接口。
java
.util包中的 collection,list,set,arraylist,linkedlist,hashset,treeset,iterator,map,sortedmap,hashmap,treemap,comparator,arrays,enumeration,vector,stack,dictionary,hashtable,properties,stringtokenizer,bitset,date,calendar,locale,random,observer,observable 类和接口。主要理清楚这些类或接口的继承关系、主要功能。
演绎阶段。通过阅读代码,练习编程,学习并应用这些类和接口。其实这些类的大部分是经常用的,无非对这些类和接口说不清楚。在这些类中,对
java
.lang和
java
.util包中的类,最好将各个方法练习使用一次。而对
java
.util包中collections
framework中的类,最好理清楚各个类和接口之间的关系。
Reply all
Reply to author
Forward
0 new messages