Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案。在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考。
我在学习Java的过程中主要围绕以下几个方面来学习:
1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java。
2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。要注重,即便对一个简单的例子也要有耐心去琢磨、调试、改动。
3.在学习的过程中一定要动手做、写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,最好能参与一些实际的项目。
4.在学到一定阶段后,你开始希望用学过的东西做些什么。这时的你应该开始学习一些更多、更复杂的知识,比如J2EE平台的构建、EJB的开发等。对于这一部分,我建议最好找一本较薄的书先了解一个大概,心里有个总体的熟悉,对更多的技术术语做个初步把握。我认为这个阶段看看《J2EE技术实践》很不错,它可以让你了解J2EE包含的各种技术和框架,同时提供很多实际的例子来加深对J2EE的整体了解。
学习Java的爱好和决心起了很要害的作用。在有了上述基础后,我便开始一步一步地学习Java。
要运行Java程序,必须安装JDK。JDK是整个Java的核心,其中包括了Java编译器、JVM、大量的Java工具以及Java基础API。
可以从http://Java.sun.com下载JDK,有1.4版本和1.31版本。我的学习环境中首先,采用的是1.31版本。
解压安装。然后,进行环境设置。
1.对于Windows平台要进行以下设置:
set PATH=YOUR_INSTALL_ DIRin; C:Windows;C:WindowsCommandset classpath=. ;YOUR_INSTALL_DIRlibools.jar
2.对于Linux平台要编辑/etc/profile文件:
JAVA_HOME=your_install_dir/JDK/j2sdkCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/td.jar:$JAVA_HOME/jr -e/lib/rt.jar:.PATH=$PATH:$JAVA_HOME/bineXPort PATH PS1 USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE INPUTRC JAVA_HOME CLASSPATH RESIN_HOME
最后,在终端上输入Java看能不能找到这个命令,假如能找到安装就成功了。
下面介绍一下JDK的几个重要的命令:
◆Java执行工具,是启动JVM(虚拟机)并执行class(BYTE CODE)文件的命令;
◆javac 编译器,由.java文件生成.class文件;
◆jar Java压缩打包工具;
◆Javadoc 文档生成器。
最后就是JDK Documentation,这是JDK的联机帮助文档,是最有用和最重要的学习参考文档,应该多看。
现在环境有了,应该写个简单的代码进行测试了。还是从经典的“hello Word”开始。
1. 先用编辑器写一代码(我用的是Linux的vi):
[stone@coremsg work]$ vi Hello.Java public class Hello{public static void main(String []argc){ System.out.println("Hello Word!");} }
2. 编译:
[stone@coremsg work]$ Javac Hello.Java
3. 执行:
[stone@coremsg work]$ Java Hello Hello Word!
成功了!这就是我的第一个Java程序。从那时起我知道已开始走进Java的世界,接下来就靠自己的努力了。在这个过程中,笔者认为有几点需要注重。
学习一门新的语言,参考书是离不开的。我的建议是开始最好找一本篇幅较短的入门书来学习那些最简单、最基本的东西,包括学习Java语法等。同时,对一个最简单的程序也应该多去调试,多想想假如改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。此外,在这一阶段还应该多看JDK的联机帮助,尽量多地把握JDK提供的Java基本类库API。
在有一定基础、能够写一些简单的程序后,可以开始看《Thinking in Java》这本书。它比较完整地介绍了Java的语法、面向对象的特性、核心类库等。通过这一层次的学习能够加深对Java的理解和底层原理的运用,同时又可以完整地了解Java的整个体系。在这一阶段,应该重点学习Java的面向对象编程语言的特性,比如继续、构造器、抽象类、接口、方法的多态、重载、覆盖、Java的异常处理机制等,要对上述概念有非常清楚的了解。这样做的目的,是要让自己把这些技术应用到实践中进行合理的程序设计(比如,你会考虑一个类是用抽象还是接口来设计等)。这就要求必须在大量的实践中去应用和学习。这也是当初很多朋友给我的建议。