本书是一本融合编程思想与具体实践为一体的书,是作者长期实践、思考、感悟的总结,是作者在深入分析自己和众多学生学习现状之后探索出的学习Java的一条捷径。\r\n 全书共分11章。第1章详细地讲解了Java开发环境的搭建、反编译工具的使用、JDK文档资料的查阅以及Java程序的编译和运行过程。第2章系统地讲解了Java的一些常用语法,在讲解语法的过程中,作者把常见问题进行了正反对比,分析了问题产生的根源,旨在加深印象。在第3章和第4章中,透彻系统地讲解了面向对象的思想和应用,用通俗形象的语言、典型翔实的例子、鲜明的对照比较,阐述了初学者最容易迷惑的一些思想理念。在以后的章节中,作者始终以“启发编程思想,培养编程感觉”为指导,以剖析典型实例、分析源码结构含义、解析常见问题等方式,从高屋建瓴的角度,用通俗易懂的文字,讲解了多线程、常用Java类、Java中的I/O(输入输出)编程、GUI与Applet、网络编程等方面的知识。\r\n 作者长期工作在开发与教学的第一线,既考虑了在实际开发中经常遇到的难题,也分析了众多学员在学习中经常困惑的问题。\r\n 本书集实用性、思想性、可读性为一体,是一本适合广大计算机编程爱好者的优秀读物。
第1章 Java开发前奏\r\n 1.1 Java虚拟机及Java的跨平台原理\r\n 1.2 Java开发环境的搭建\r\n 1.3 体验Java编程的过程\r\n 1.4 classpath的设置\r\n 1.5 有效利用Java的文档帮助\r\n 1.6 JVM(虚拟机)的运行过程\r\n 1.7 垃圾回收器\r\n 1.8 反编译工具的介绍\r\n第2章 Java编程基础\r\n 2.1 Java基本语法格式\r\n 2.2 变量及变量的作用域\r\n 2.3 函数与函数的重载\r\n 2.4 Java中的运算符\r\n 2.5 程序的流程控制\r\n 2.6 数组 \r\n第3章 面向对象(上)\r\n 3.1 面向对象的概念\r\n 3.2 类与对象\r\n 3.3 构造函数\r\n 3.4 this引用句柄\r\n 3.5 与垃圾回收有关的知识\r\n 3.6 函数的参数传递\r\n 3.7 Static关键字\r\n 3.8 内部类\r\n 3.9 使用Java的文档注释\r\n第4章 面向对象(下)\r\n 4.1 类的继承\r\n 4.2 抽象类与接口\r\n 4.3 对象的多态性\r\n 4.4 异常\r\n 4.5 包\r\n 4.6 访问控制\r\n 4.7 使用jar文件\r\n第5章 多线程\r\n 5.1 如何创建与理解线程\r\n 5.2 多线程的同步\r\n 5.3 线程间的通信\r\n 5.4 线程生命的控制\r\n第6章 Java API\r\n 6.1 理解API的概念\r\n 6.2 工具软件的介绍与使用\r\n 6.3 String类和StringBuffer类\r\n 6.4 基本数据类型的对象包装类\r\n 6.5 集合类\r\n 6.6 Hashtable与Properties类\r\n 6.7 System类与Runtime类\r\n 6.8 Date与Calendar,DateFormat类\r\n 6.9 Math与Random类\r\n 6.10 学习API的方法\r\n第7章 IO/输入输出\r\n 7.1 File类\r\n 7.2 RandomAccessFile类\r\n 7.3 节点流\r\n 7.4 过滤流与包装类\r\n 7.5 IO中的高级应用 \r\n第8章 图形用户界面GUI(一)\r\n 8.1 初识AWT\r\n 8.2 AWT线程\r\n 8.3 AWT事件处理\r\n 8.4 GUI组件上的图形操作 \r\n第9章 图形用户界面GUI(二)\r\n 9.1 常用AWT组件\r\n 9.2 布局管理器\r\n 9.3 Swing \r\n第10章 Applet\r\n 10.1 浏览器怎样显示网页\r\n 10.2 浏览器处理网页脚本代码的过程\r\n 10.3 浏览器怎么处理Applet\r\n 10.4 Applet类及其方法\r\n 10.5 一个显示动画的Applet的程序\r\n 10.6 关于Java的一些细节\r\n 10.7 验证Applet对象在客户端如何存在 \r\n第11章 网络编程\r\n 11.1 网络编程的基础知识\r\n 11.2 Java编写UDP网络程序\r\n 11.3 Java编写TCP网络程序
张孝祥,1995年毕业于北京理工大学,获学士学位。毕业后在计算机专业的专家指导下,熟练掌握了VC,VB,JAVA等编程语言及工具,潜心研究计算机软件开发,曾先后在国家863计划CIMS项目组、泰克威尔公司、摩托罗拉公司、清华万博的中国教育热线网站从事软、硬件开发。期间,兼职某计算机培训学校VC++培训讲师,得到学员的一致好评,也是该学校公认的王牌培训讲师。
“初学编程的人进步慢甚至半途而废的主要原因是他们没有软件开发的具体环境。如果一个实践经验丰富的老师能把一些理论和实践经验通俗地讲出来,并为学员提供一个真实的实践练习环境,培养他们的编程思想和感觉,组织学员自己多动手模拟项目的开发过程,学员就能学得很快。最重要的是学员能够接触到实践的机会,体验到开发的过程。这也是我在国内率先提出了“On-job training”的概念,即用项目实战的方式来培训学员的主要原因”。——作者语
作者自1993年从事软件开发以来,至今已有十年了。十年的风雨历程已经把作者和软件紧密地融为一体。回顾自己十年来走过的开发之路,发现有许许多多的记忆值得怀念。其间既有许多成功的经验,也有不少失败的教训;既有令人百思不解的难题,又有让人惊喜万分的思想火花;既有聆听别人的真知灼见,又有自己的心得体会;……。作者时时想把这些也许会转瞬即逝的经验与教训、难题与顿悟、灼见与体会记录下来,但是由于工作繁忙,总也不能够。三年前,作者有幸为一家大型企业做员工培训,正好有机会把平日的所思所想讲给后来者,不料这些思想受到所有学员的一致好评。感念于学员、企业对自己的认同和赞扬,感念于自己有许多想法想与学员共享,从此作者在开发的同时,又和培训结下了不解之缘。
兼职培训三年来,除了为银行、税务、海关、企业等部门技术人员培训以外,还为北京几家著名培训机构做兼职讲师,学员遍及全国各地,有技术人员、管理人员、教师、学生等。他们对作者都寄予了较高的评价:实用性强,思想性强;思路清晰,重点突出:循序渐进,通俗易懂。不但善于将复杂的知识简单化、具体化、实例化,而且善于用实践的方法帮助学生透彻理解、加深记忆。不同于一般院校教学那样空泛,不同于一般培训机构那样急功近利。 面对来自天南地北付出昂贵代价来学习的学员,还有亲自参与的重大项目,作者时时感到责任的重大,为讲好每一节课,为解决每一个问题,常常夜不能寐。在长期的实践中,作者对编程培训逐步形成了以下几点看法,这也许是一种收获吧。
1.侧重启发编程思想,培养编程感觉。
成为一名优秀的程序员,最重要的是要掌握编程思想,找到编程感觉,而不是死记硬背语言本身。一旦掌握编程思想,找到编程感觉后,多数情况下,面对新的编程语言时,只需简单了解该语言的语法特点后,就可以即学即用了。这就好比一个精通汽车修理之道的人,当他着手修理一辆从未接触过的品牌的汽车时,只需看看该车的维修指南,故障就可以解决了。掌握编程思想、找到编程感觉是一名程序员的高级境界,是在反复的实践、观察、分析、比较、总结中潜移默化积累的。而且刚开始又必须从一门实实在在的编程语言和实际工作中去实践和体验。
因而在讲解中要注意:内容不要形式化、教条化、概念化、提纲化。要首先培养学生解决实际问题的能力,然后引导学生如何用程序来表现。要把程序的组织结构、语句含义、运行流程和实际问题对应起来。可以让学生先解决一些简单的实际问题,掌握编程的一些常用结构和方法。以后多用软件开发的实际项目,让他们尝试着做,这样边学边用,时间长了,感觉就出来了。另外还要培养学生即用即查等自学能力。
2.多用大家熟悉的案例激发学习的兴趣,增强学习的信心。
能够自己动手解决实际问题是学习的最直接动力,是激发学习兴趣的根源所在。
现在绝大多数教学重心仍然停留在语法、函数、控件的介绍上,极大地挫伤了学生的兴趣和信心,谈不上对能力的培养,最大的作用也许是教会了学生死记硬背,浪费了他们的青春年华。
案例为初学者提供了模拟的开发环境,让学生感受到了学习的意义,为学生提供了模仿的样本(模仿是学习的捷径)。因而,案例教学深受学生欢迎,学习效果也是最好的。所以讲课时要摒弃传统的一些方法,不从知识点、概念、思想本身去讲,而用项目和程序代码等案例、实例宋理解有关思想,往往会让学生记忆深刻,事半功倍。
3.透析常见问题是学习捷径。
常见问题能够及时解决是捉高学习效率的最重要内容。要尽量把一些常见问题总结归纳,及时解答并分析产生的根源。另外,有意把问题提出来,正反对比也便于理解、加深印象。
4.多读源码、多动手能够快速提高。
程序员要经常阅读一些优秀的源码,对自我提高
手才能真正把别人的东西消化掉。
5.讲解思路要与学生的认知规律一致起来。
开阔视野非常必要。但一定要多动
从实践到理论、从具体到抽象、从个别到一般的方法,符合学生的认识规律。不仅要讲怎么做,还要告诉学生为什么;不仅要讲具体步骤,还要贯穿一些系统的理论。这样一步步引导学生深入,使他们感到轻松愉快、兴趣盎然。
6.讲解时要善于把复杂的问题简单化、具体化、实例化、通俗化。
分析问题,力求一针见血,强调水到渠成、潜移默化地、独立地解决问题。要善于把复杂的问题简单化处理,列举典型例子,用浅显易懂的程序帮助理解,尽量避免或少用专业术语,而用学生容易理解的语言表述,甚至用生动形象的比喻帮助学生快速理解。
对于本书的要求,除了要继承作者培训的全部经验外,还严格遵循以下原则:
不超越别人的书不写,没有自己特色的书不写;
没有自己的实践体会不写,不是自己归纳出来的东西不写。
不虎头蛇尾,不哗众取宠,不急功近利。
作者在培训期间接触过许许多多毕业生、技术人员,他们为了求得一份IT工作,不惜把自己的全部收入用来参加培训,可收到的效果往往会大失所望。作者作为一样有过这种经历的先来者,回想起来,深有同感。又因为作者多年来开发和培训的积淀如果不能及时地整理,也会随着岁月的流逝而湮没在记忆中。这对后来者不能不说是一个小小的损失。还有一个更重要原因是:在教学期间,许多学员一直希望作者能够出一本书以巩固学习,外地的学员来电来函希望能用作者的书学习。他们热情洋溢的赞扬、鼓励、帮助是作者萌发编写本书的直接原因。
为此作者要感谢那些给予自己各种支持的学员们、朋友们,特别要感谢学生张显金,他为本书内容提出了许多改进意见;感谢学生黄常松、石光磊,他们以读者的眼光对本书的细节提出了很好的修改意见:还要感谢作者的夫人——陈琼,她不但为本书的文字进行了订正,而且给予了作者强大的精神后盾。
终于,经过数月的精心整理,这些自认为闪耀着编程思想光芒的文字就要与读者见面了,作者像捧着新生的婴儿一样把他奉献给大家。衷心希望它能为后来的编程初学者——特别是那些正在IT求职道路上奔波的人们开启一道希望之门。
谨以此书与广大读者共勉!