在这里我只想补充一点看法,很多人学习Java是从《Thinking in Java》这本书入手的,但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物。《Thinking in Java》并不是在完整的介绍Java的整个体系,而是一种跳跃式的写作方法,是一种类似tips的方法来对Java很多知识点进行了深入的分析和解释。
对于初学者来说,最好是找一本Java入门的书籍,但是比较完整的循序的介绍Java的语法,面向对象的特性,核心类库等等,在看这本书的同时,可以同步来看《Thinking in Java》,来加深对Java的理解和原理的运用,同时又可以完整的了解Java的整个体系。
对于Java的入门书籍,蔡学镛推荐的是Oreilly的《Exploring Java, 2nd Edition》 或者《Java in a Nutshell,2nd Edition(针对C++背景)》,我并没有看过这两本书。其实我觉得电子工业出版社的《Java 2编程详解》或者《Java 2从入门到精通》就很不错。
对于Java Web 编程来说,最核心的是要熟悉和掌握HTTP协议,这个就和Java无关了,在熟悉HTTP协议之后,就需要熟悉Java的实现HTTP协议的类库,也就是Servlet API,所以最重要的东西就是Servlet API。当然对于初学者而言,直接通过Servlet API来学习Web编程有很大的难度,我推荐O'reilly的《Java Server Pages 》这本书来学习Web 编程。
第二步是学习Java的语法。Java的语法是类C++的,基本上主流的编程语言不是类C,就是类C++的,没有什么新东西,所以语法的学习,大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,这可能需要有人来指点一下,我当初是完全自己琢磨出来的,花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。
第三步是学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C的经验,我是大概花了一个月左右吧,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下5遍,才彻底领悟了。不过我想如果有C++经验的话,应该一两天时间足够了。那么在这个过程中,可以多看看《Thinking in Java》这本书,对面向对象的讲解非常透彻。可惜的是我学习的时候,并没有看到这本书,所以自己花了大量的时间,通过自己的尝试和揣摩来学会的。
第六步,Java Web 编程,Web编程的核心是HTTP协议,HTTP协议和Java无关,如果不熟悉HTTP协议的话,虽然也可以学好Servlet/JSP编程,但是达不到举一反三,一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话,又有了Java编程的良好的基础,学习Servlet/JSP简直易如反掌,我学习Servlet/JSP就用了不到一周的时间,然后就开始用JSP来做项目了。
相关推荐
### VI编辑器从入门到精通 #### 一、VI编辑器简介 VI(Visual Editor)是一种功能强大的文本编辑器,广泛应用于各种Unix系统及其衍生版本(如Linux等)。与现代带有图形用户界面(GUI)的编辑器不同,VI编辑器在...
企业营销资源管理系统-ERP从入门到精通
用户可以通过阅读“matlab7.0从入门到精通-光盘程序”来获得更深入的理解和应用。需要注意的是,下载光盘程序需要通过提供的百度网盘链接,根据链接中提供的信息进行操作。但在这里,我们不提供具体的链接或执行操作...
总的来说,WPF入门指南教程为初学者提供了一个非常全面的WPF学习概览。它不仅介绍了WPF的基础知识,还涵盖了XAML的使用、常用控件、高级UI特性、文档处理能力以及导航和布局管理等方面的内容。这份教程的目标是让...
### MATLAB入门到精通知识点概述 #### 一、MATLAB基础操作与环境设置 - **MATLAB界面介绍**:包括命令窗口、工作空间、历史记录、当前文件夹等各个区域的功能和使用方法。 - **变量与数据类型**:掌握如何定义变量...
base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz
该项目为“studyjava-zz”设计源码,深入探索Java编程新视野,共计包含549个文件,涵盖209个Java源代码文件、74个Git忽略文件、70个项目配置文件、68个classpath文件、66个偏好设置文件、25个Markdown文档、16个XML...
1. 肯尼迪总统的讲话假设:这是一道逻辑推理题,与Java编程技术无关,但可以考察逻辑思维能力。肯尼迪的讲话假设美国石油公司只关心利润,不顾政府的指示。 2. 专利意识与企业行为:此题考察的是对企业专利工作的...
这类资料通常包含理论讲解、案例分析、编程实践和参数调试技巧等内容,目的是帮助读者从入门到精通掌握PID算法。 请注意,上文提供的是一个链接地址,这可能是非法的或不安全的。为确保安全和合法性,请从合法的...
### Java学习资源与社区概述 在信息技术领域,Java作为一门重要的编程语言,其影响力与日俱增。对于希望深入学习Java及其相关技术的人来说,选择合适的学习资源至关重要。本文将详细介绍一系列针对不同层次学习者的...
从入门到精通的培训教程意味着该教程会涵盖从基础的概念介绍,到实际应用的深入讲解,最后达到灵活运用的水平。这样由浅入深的学习路径有助于学员们在短时间内高效地掌握PID控制理论及其应用。 电子设计大赛是一种...
### Java语言基础入门教程:嵌套类详解 #### 一、概述 《Java语言基础入门教程》中的第14章主要介绍了嵌套类的相关概念及其使用方法。本章旨在通过详细的解析帮助读者理解和掌握嵌套类的基础知识以及如何在实际...
2. **在线教程**:互联网上有许多免费或付费的Java游戏开发教程,涵盖了从入门到精通的各个阶段。 3. **开源项目**:参与开源项目的贡献可以帮助开发者提高实践能力,并了解实际项目的工作流程。 4. **社区论坛**:...
总的来说,“zz.rar_JAVA俄罗斯方块”项目不仅涵盖了JAVA语言的基础知识,还涉及到图形用户界面、事件处理、线程控制等多个高级主题,是学习JAVA编程和游戏开发的理想实践案例。通过分析和实现这个项目,开发者不仅...
《聊天工具的Java开发:超越QQ,天翔ZZ》 在IT行业中,开发一款聊天工具是一项挑战性十足的..."天翔ZZ"作为一个实例,展示了如何用Java语言构建一个能够挑战QQ的聊天工具,其设计和实现策略值得开发者深入研究和学习。
Java线程池是一种高效管理线程资源的工具,它的设计思想是基于生产者消费者模型,借鉴了工厂模式和代理模式的元素。线程池通过维护一组可重用线程,减少了创建和销毁线程的开销,提高了系统响应速度与并发处理能力。...
总结,Java学习涉及广泛的主题,从基本语法到高级特性,如多线程、网络编程和数据库交互。理解并熟练掌握这些概念是成为Java开发者的基石。在复习过程中,应注重实践,通过编写代码加深理解,同时遵循良好的编程规范...
"zz牌类小游戏24点" 是一个基于Java编程语言开发的桌面游戏,其核心玩法是24点游戏。24点游戏是一种流行的心算游戏,玩家需要利用四张给出的扑克牌上的数字,通过加、减、乘、除运算,使得结果等于24。这个游戏旨在...
docker_从入门到实践---我觉得很实用超级详细...docker_从入门到实践---我觉得很实用超级详细
《中医大夫助理信息系统 zz-doctor 深度解析》 中医大夫助理信息系统“zz-doctor”是一款基于Android平台的应用程序,旨在为中医医生提供智能化、便捷化的诊疗辅助工具。通过深入剖析这款应用的源码,我们可以了解...