Java Learn Steps

我个人的经验,学习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中的类,最好理清楚各个类和接口之间的关系。

时间: 2024-12-03 06:31:16

Java Learn Steps的相关文章

java 获取天气预报实现代码

最简单的办法是申请一个yahoo dev 的key ,然后就可以通过 GeoPlanet api 来查询相应地点的WOEID了.狼の禅 用的是旧的p 参数传递地点代码,不过最新的api文档里面只对w参数作了说明,因此这里我就用WOEID了.不想注册申请key,还是自己折腾吧.下载最新的 GeoPlanet Data ,解压出来有这些个文件: geoplanet_places_[version].tsv: the WOEID, the placename, and the WOEID of its

Java Secure Socket Extension (JSSE) Reference Guide

Skip to Content Oracle Technology Network Software Downloads Documentation Search Java Secure Socket Extension (JSSE) Reference Guide This guide covers the following topics: Skip Navigation Links Introduction Features and Benefits JSSE Standard API S

Free Apache Tomcat Hosting in the Cloud for Java Applications? It's Called OpenShift!

原文:https://openshift.redhat.com/community/blogs/free-apache-tomcat-hosting-in-the-cloud-for-java-applications-its-called-openshift If you are a Java developer, you have probably struggled with finding a reliable host for your Tomcat based java projec

Java Thread Programming 1.7 - Concurrent Access to Objects and Variables

access|object When multiple threads are interacting with an object, controls need to be in place to ensure that the threads don't adversely affect one another. This chapter deals with issues that can introduce subtle errors in your application. An ap

java语音实现技术TTS资料

要做语音,查了一些资料. Java Speech API :http://java.sun.com/products/java-media/speech/ Java Speech API 允许开发人员将语音技术整合到 Java applet 和应用程序的用户界面中.这种 API 规定一个跨平台的接口来支持命令-控制识别器.听写系统和语音合成器. 这个综合 API 被分成几个规范: Java Speech API 规范(Java Speech API Specification,JSAPI) Ja

开发能够互操作的Web Services - 整合Java and Microsoft .NET

services|web Developing Interoperable Web Services - Integrating Java and Microsoft .NETInteroperability is one of the main promises of Web services. Web services are designed to be independent of the underlying operating system and programming langu

使用Install Anywhere让您的Java安装程序更高效和灵活

本文将介绍如何借助 Install Anywhere 更好地规划和设计 Java 安装程序,提供多平台多操作系统的部署,定义更灵 活的安装流程和环境检查,开发更加友好和美观的用户交互界面.文章主要面向 Java 软件安装程序开发人员,假定您对 Java 以及 Ant 开发有基本的了解,您也可以参见参考资料以了解更多 Install Anywhere 相关的知识. Install Anywhere 介绍 Install Anywhere 概述 Install Anywhere(以下简称 IA)是由

Java设计模式之Iterator模式介绍

所谓Iterator模式,即是Iterator为不同的容器提供一个统一的访问方式.本文以java中的容器为例,模拟Iterator的原理.需要的朋友可以参考下   1.首先定义一个容器Collection接口. 复制代码 代码如下: package com.njupt.zhb.learn.iterator; public interface Collection {  void add(Object o);  int size();  Iterator iterator(); } 2.定义一个I

Java中的反射的应用

在正常情况下,需要先有一个类的完整路径引入之后才可以按照固定的格式产生实例话对象,但是在Java中也允许通过一个实例话对象找到一个类的完整信息.那么这就是Class类的功能. 实际上类是Java反射的源头,实际上所谓反射从程序的运行结果来看也很好理解,即可以通过对象的反射求出类的名称. 实例化Class类,获得字节码文件的方法有三种: 第一种:通过forName()方法;第二种:类.class第三种:对象.getClass() package toto.learn; class X1{} pub