本书系统地介绍了Java语言基础知识、面向对象编程(OOP)和一些重要的高级特性,如内部类、事件处理机制、多线程、JDBC等,并附有一套具有代表性的Sun认证Java程序员(SCJP)考试模拟试题及深入分析。本书结构完整、论述生动、深入浅出;围绕各知识点提供了丰富的例程和综合实用案例,清楚地展示了基于Java技术进行实用性应用软件开发的全过程;适合作为高校及社会培训机构教材,以及各类Java初学者的自学参考书。本书全部源代码可在新东方网站www.getjob.com.cn上下载。\r\n
\r\n
第1章 概述 \r\n\r\n 1. 1 Java语言简介 \r\n\r\n 1. 1. 1 Java的产生及其发展 \r\n\r\n 1. 1. 2 Java语言的特点 \r\n\r\n 1. 2 Java虚拟机 \r\n\r\n 1. 2. 1 高级编程语言的程序运行机制 \r\n\r\n 1. 2. 2 Java虚拟机的作用及其特点 \r\n\r\n 1. 3 Java运行环境 \r\n\r\n 1. 3. 1 Java运行环境简介 \r\n\r\n 1. 3. 2 垃圾收集 \r\n\r\n 1. 3. 3 Java运行环境的安装和配置 \r\n\r\n 1. 4 Java程序举例 \r\n\r\n 第2章 面向对象的程序设计初步 \r\n\r\n 2. 1 面向对象的分析和设计简介 \r\n\r\n 2. 2 类和对象 \r\n\r\n 2. 2. 1 类是对象的蓝图 \r\n\r\n 2. 2. 2 类的声明 \r\n\r\n 2. 2. 3 属性声明 \r\n\r\n 2. 2. 4 方法声明 \r\n\r\n 2. 2. 5 创建对象及访问对象成员 \r\n\r\n 2. 2. 6 信息的隐藏和封装 \r\n\r\n 2. 3 构造方法 \r\n\r\n 2. 3. 1 构造方法的声明 \r\n\r\n 2. 3. 2 默认的构造方法 \r\n\r\n 2. 4 Java源文件的层次结构 \r\n\r\n 第3章 标识符 关键字 数据类型 \r\n\r\n 3. 1 注释及分隔符 \r\n\r\n 3. 1. 1 注释 \r\n\r\n 案例3-1 javadoc文档化工具的使用 \r\n\r\n 3. 1. 2 Java分隔符 \r\n\r\n 3. 2 标识符和关键字 \r\n\r\n 3. 2. 1 标识符 \r\n\r\n 3. 2. 2 Java关键字 \r\n\r\n 3. 3 Java数据类型 \r\n\r\n 3. 3. 1 Java基本数据类型 \r\n\r\n 3. 3. 2 Java引用类型 \r\n\r\n 3. 4. 值传递 \r\n\r\n 3. 5 关键字this \r\n\r\n 3. 6 Java语言编码惯例 \r\n\r\n 3. 6. 1 命名惯例 \r\n\r\n 3. 6. 2 源程序排版惯例 \r\n\r\n 第4章 运算符表达式和流程控制 \r\n\r\n 4. 1 变量 \r\n\r\n 4. 1. 1 变量及其作用域 \r\n\r\n 4. 1. 2 变量的初始化 \r\n\r\n 4. 2 运算符 \r\n\r\n 4. 2. 1 算术运算符 \r\n\r\n 4. 2. 2 关系运算符 \r\n\r\n 4. 2. 3 逻辑运算符 \r\n\r\n 4. 2. 4 位运算符 \r\n\r\n 4. 2. 5 赋值运算符 \r\n\r\n 4. 2. 6 字符串连接操作符+, \r\n\r\n 4. 3 表达式 \r\n\r\n 4. 4 分支语句 \r\n\r\n 4. 4. 1 if-else语句 \r\n\r\n 4. 4. 2 switch语句 \r\n\r\n 4. 4. 3 条件运算符?: \r\n\r\n 4. 5 循环语句 \r\n\r\n 4. 5. 1 for循环语句 \r\n\r\n 4. 5. 2 while循环语句 \r\n\r\n 4. 5. 3 do/while循环语句 \r\n\r\n 4. 6 特殊的循环流控制语句 \r\n\r\n 4. 6. 1 break[label]语句 \r\n\r\n 4. 6. 2 continue[label]语句 \r\n\r\n 第5章 数组 \r\n\r\n 5. 1 一维数组 \r\n\r\n 5. 1. 1 一维数组的声明 \r\n\r\n 5. 1. 2 一维数组的创建和初始化 \r\n\r\n 5. 1. 3 数组元素的引用 \r\n\r\n 5. 2 多维数组 \r\n\r\n 5. 2. 1 二维数组 \r\n\r\n 5. 2. 2 二维数组的使用 \r\n\r\n 5. 3 数组复制 \r\n\r\n 案例5-1 整型数据进制转换 \r\n\r\n 第6章 数据结构基础 \r\n\r\n 6. 1 数据排序算法 \r\n\r\n 6. 1. 1 冒泡法排序 \r\n\r\n 6. 1. 2 选择法排序 \r\n\r\n 6. 1. 3 插入法排序 \r\n\r\n 6. 2 链表 \r\n\r\n 6. 2. 1 单链表 \r\n\r\n 6. 2. 2 链表操作 \r\n\r\n 6. 3 堆栈 \r\n\r\n 案例6-1 四则表达式求值 \r\n\r\n 第7章 面向对象的程序设计 \r\n\r\n 7. 1 包(package) \r\n\r\n 7. 1. 1 package语句 \r\n\r\n 7. 1. 2 import语句 \r\n\r\n 7. 1. 3 JDK中主要的包 \r\n\r\n 7. 2 类的继承及相关机制 \r\n\r\n 7. 2. 1 类的继承 \r\n\r\n 7. 2. 2 访问控制 \r\n\r\n 7. 2. 3 方法的重写 \r\n\r\n 7. 2. 4 多态性 \r\n\r\n 7. 2. 5 对象造型 \r\n\r\n 7. 2. 6 构造方法的重载和继承 \r\n\r\n 7. 2. 7 Object类 \r\n\r\n 7. 3 关键字static和final \r\n\r\n 7. 3. 1 关键字static \r\n\r\n 7. 3. 2 Singleton设计模式 \r\n\r\n 7. 3. 3 关键字final \r\n\r\n 7. 4 抽象类 \r\n\r\n 7. 5 接口 \r\n\r\n 7. 6 内部类 \r\n\r\n 第8章 Java异常处理 \r\n\r\n 8. 1 异常的概念及分类 \r\n\r\n 8. 1. 1 什么是异常 \r\n\r\n 8. 1. 2 Java异常分类 \r\n\r\n 8. 2 Java异常处理机制 \r\n\r\n 8. 2. 1 捕获异常 \r\n\r\n 8. 2. 2 声明抛弃异常 \r\n\r\n 8. 2. 3 人工抛出异常 \r\n\r\n 8. 3 用户自定义异常 \r\n\r\n 第9章 Java控制台应用程序设计 \r\n\r\n 9. 1 命令行参数和系统属性 \r\n\r\n 9. 1. 1 Java命令行参数 \r\n\r\n 9. 1. 2 系统属性 \r\n\r\n 9. 2 数据输入/输出 \r\n\r\n 9. 2. 1 标准I/O操作 \r\n\r\n 9. 2. 2 文件I/O操作 \r\n\r\n 9. 3 JDK常用类介绍 \r\n\r\n 9. 3. 1 Math类 \r\n\r\n 9. 3. 2 String类 \r\n\r\n 9. 3. 3 StringBuffer类 \r\n\r\n 9. 4 Collection API简介 \r\n\r\n 9. 5 Deprecated API \r\n\r\n 案例9-1 猜数程序 \r\n\r\n 第10章 高级I/O流编程 \r\n\r\n 10. 1 Java I/O基本原理 \r\n\r\n 10. 2 基本I/O类型 \r\n\r\n 10. 2. 1 InputStream \r\n\r\n 10. 2. 2 OutputStream \r\n\r\n 10. 2. 3 Reader \r\n\r\n 10. 2. 4 Writer \r\n\r\n 10. 3 I/O流的使用 \r\n\r\n 10. 3. 1 FileInputStream/FileOutputStream \r\n\r\n 10. 3. 2 DataInputStream/DataOutputStream \r\n\r\n 10. 3. 3 ObjectInputStream/ObjectOutputStream \r\n\r\n 10. 3. 4 ByteArrayInputStream/ByteArrayOutputStream \r\n\r\n 10. 3. 5 PipedInputStream/PipedOutputStream \r\n\r\n 10. 3. 6 FileReader/FileWriter \r\n\r\n 10. 3. 7 BufferedReader/BufferedWriter \r\n\r\n 10. 3. 8 InputStreamReader/OutputStreamWriter \r\n\r\n 10. 3. 9 PrintStream/PrintWriter \r\n\r\n 第11章 Java GUI应用程序开发 \r\n\r\n 11. 1 Java GUI设计 \r\n\r\n 11. 1. 1 抽象窗口工具集(AWT) \r\n\r\n 11. 1. 2 Java组件和容器 \r\n\r\n 11. 1. 3 布局管理器 \r\n\r\n 11. 2 Java GUI事件处理机制 \r\n\r\n 11. 2. 1 Java事件和事件处理 \r\n\r\n 11. 2. 2 多重监听器 \r\n\r\n 11. 2. 3 事件适配器 \r\n\r\n 11. 2. 4 内部类和匿名类在Java事件处理中的应用 \r\n\r\n 11. 3 Java GUI应用程序开发 \r\n\r\n 11. 3. 1 AWT组件综述 \r\n\r\n 11. 3. 2 AWT菜单 \r\n\r\n 11. 3. 3 颜色和字体 \r\n\r\n 案例11-1 文本文件阅读器开发 \r\n\r\n 第12章 线程 \r\n\r\n 12. 1 线程基本概念 \r\n\r\n 12. 1. 1 什么是线程 \r\n\r\n 12. 1. 2 多线程 \r\n\r\n 12. 1. 3 创建线程的第二种方式 \r\n\r\n 12. 2 线程状态控制 \r\n\r\n 12. 2. 1 线程状态 \r\n\r\n 12. 2. 2 线程调度 \r\n\r\n 12. 3 线程的同步 \r\n\r\n 12. 3. 1 临界资源问题 \r\n\r\n 12. 3. 2 互斥锁 \r\n\r\n 12. 3. 3 wait()和notify()方法 \r\n\r\n 12. 3. 4 生产者-消费者问题 \r\n\r\n 案例12-1 考试系统设计与实现 \r\n\r\n 第13章 网络编程 \r\n\r\n 13. 1 网络基础知识简介 \r\n\r\n 13. 1. 1 什么是计算机网络 \r\n\r\n 13. 1. 2 网络通信协议及接口 \r\n\r\n 13. 2 URL \r\n\r\n 13. 3 Socket编程 \r\n\r\n 第14章 Java Applet \r\n\r\n 14. 1 Applet简介 \r\n\r\n 14. 1. 1 什么是Applet \r\n\r\n 14. 1. 2 Applet运行机制 \r\n\r\n 14. 1. 3 Applet安全机制 \r\n\r\n 14. 2 Applet插件标记 \r\n\r\n 14. 3 Applet绘图 \r\n\r\n 案例14-1 Java绘图板设计与实现 \r\n\r\n 14. 4 多媒体支持 \r\n\r\n 14. 4. 1 图像处理 \r\n\r\n 14. 4. 2 声音处理 \r\n\r\n 14. 4. 3 Application的多媒体支持 \r\n\r\n 14. 5 JAR文件 \r\n\r\n 第15章 Java数据库连接 \r\n\r\n 15. 1 数据库简介 \r\n\r\n 15. 2 JDBC \r\n\r\n 15. 2. 1 什么是JDBC \r\n\r\n 15. 2. 2 JDBC的基本应用 \r\n\r\n 15. 2. 3 预处理语句和存储过程 \r\n\r\n 15. 3 JDBC-ODBC \r\n\r\n 15. 3. 1 设置ODBC数据源 \r\n\r\n 15. 3. 2 JDBC-ODBC编程 \r\n\r\n 案例15-1 电子书店设计与实现 \r\n\r\n 附录1 SCJP模拟试题 \r\n\r\n 附录2 SCJP试题分析 \r\n
\r\n
新东方教育集团董事长 俞敏洪
当今社会是一个需要技能的社会, 新东方最初的主要方向就是培训学生英语方面的技能, 因为良好的英语技能对于工作. 前途都起着非常重要的作用. 在过去的几年里, 新东方的英语培训取得了长足的发展和辉煌的成就, 每年培训几十万学生, 并且在全世界建立了十几所分校. 大量的新东方学员经过新东方培训后取得了出国深造的资格. 但是在世界上除了英语技能, 还有许多其他的技能, 对提高人们的生活水平和质量起着更加重要的作用, 电脑技能就是其中之一. 在现代化的技术世界中, 电脑已经成为人们生活的一个重要内容. 有知识的人离不开英语, 但是更离不开电脑, 电脑已经成为人们日常学习和工作必不可少的一部分. 不可否认, 电脑的发展使这个世界更加简单化. 条理化. 明了化.
新东方一直把为人们谋取更好的工作. 更好的生活质量作为目标, 所以在英语培训取得了一定的成就以后, 新东方一直在思考是否能在电脑方面为学员提供一点帮助, 能够像英语一样, 经过一定的培训也能让大家获得更好的电脑技能. 出于这样的思考, 新东方于1999年创立了电脑培训部. 经过几年的发展, 电脑培训部由原来只有20多台电脑的小小培训部发展到了现在有数百台电脑的培训中心. 在发展过程中, 电脑培训部得到了微软. 联想. Adobe. Macromedia等世界著名电脑公司的培训授权. 迄今为止, 新东方电脑培训已经为社会培训了上万名学员, 为众多公司及企事业输送了大量的电脑专业人才, 有些人经过新东方电脑培训部的培训, 在国外的电脑公司也找到了理想的工作.
提到新东方电脑培训部, 首先必须提到的是我的朋友. 新东方董事会成员. 新东方电脑培训部的创始人王强老师. 王强自1996年回国创业, 力推美语思维教学法, 使新东方成千上万的学生在口语方面取得了长足的进步. 但王强老师实际上还是一位电脑专家, 来新东方以前是美国贝尔传讯研究所的软件工程师, 曾在贝尔获得过优秀软件工程师的称号. 回国后王强老师尽管转入英语教学领域, 但对电脑的热情始终不减, 力推电脑培训部的建设, 终于在1999年使新东方电脑培训部得以成立.
另外一位我要介绍的人是新东方电脑培训部的第一任主任周怀军老师. 周怀军在来电脑培训部负责具体业务之前, 已经移民加拿大, 并在加拿大一家计算机公司找到了一份收入不错的工作. 但是他有感于新东方的创业精神, 有感于自己想要干一番事业的理念, 毅然放弃了在加拿大的职位, 放弃了在加拿大和家人团聚的机会, 从电脑培训部成立的第一天干起, 四年中一直忘我地工作, 奠定了电脑培训部发展的基础, 确立了电脑培训部的发展思路. 正是由于周怀军踏实肯干, 对什么事情都勤勤恳恳. 认真负责的精神, 才使新东方电脑培训部由最初的几十台计算机的规模发展到了现在的几百台计算机的培训中心, 学生也由几十人发展到了上万人. 由于种种原因, 周怀军已经从新东方出去自己创业, 我对他的创业十分支持并祝愿他取得更大的成功. 当初我就是走上了独立创业的道路, 才有了新东方的今天. 同时, 周怀军依然是新东方电脑培训部的股东, 是我很好的朋友, 对新东方有着真诚的热爱.
2002年, 新东方电脑培训部升级为新东方电脑培训公司, 现任公司总经理吴雷老师是我不得不说的另外一位新东方重要人物. 吴雷毕业于北京联合大学, 是一所不算有名的大学. 但吴雷是一位非常聪慧. 能干而又吃苦耐劳的人, 并且有着很好的商业判断能力. 在中国的商业圈凭着自己的智慧取得了很好的成就后, 他于1998年进入了世界著名的耶鲁大学商学院深造. 1999年, 他与新东方另一位著名老师钱永强一起回到新东方, 帮助新东方参与了和联想公司合作的谈判, 和钱永强一起创建了新东方教育在线TOL24. COM, 正式成为了新东方管理团队的重要成员. 2001年, 吴雷老师回到耶鲁去完成在商学院未竟的学业, 2002年以优异成绩毕业. 本来吴雷可以留在北美工作, 取得比在国内更丰厚的报酬, 但出于对新东方的热爱和对国内商机的独到眼光使他毫不犹豫地回到了中国, 再次加入到了新东方火热的事业之中.
经过几年的发展, 新东方电脑培训积累了大量的理论和实际操作经验. 周怀军老师在两年前就开始把电脑部积累的这些经验编写成了书, 把电脑方面从低级到高级各个领域方面的经验汇集成册, 我感到非常高兴. 新东方在英语方面已经出版了很多的图书, 电脑书籍的出版填补了新东方图书出版的一个空白, 必将对大家尤其是广大电脑爱好者起到强大而明确的指导作用. 如今, 吴雷老师更是雄心勃勃, 要把新东方的电脑培训和新东方的电脑图书推上一个更高的世界舞台, 我感到非常兴奋. 也为新东方整个教育集团以胡敏总裁为首的新一代管理团队的战略眼光和雄心壮志而深感欣慰. 同时, 我要向清华大学出版社表示衷心的感谢. 清华大学出版社是全国著名的出版社, 敢于与新东方这样的民间机构合作, 表明了清华大学出版社的心胸与远见.
每个人都在刻画着自己的人生轨迹, 每个人都在寻找着自己的奋斗目标, 如果一个人连自己的人生目标都不知道, 连自己这辈子应该干些什么都不清楚, 那生活就会变得平庸和无聊. 一个人明确了自己的人生目标, 再用英语和电脑把自己武装起来, 那就如虎添翼, 在社会中成功的机会就会更高, 成功的速度也会更快. 英语是使你走向世界的必不可少的工具, 电脑是使你管理现代化和接受新思想必不可少的工具. 我衷心希望所有看到这篇序言的人, 都能够在生活和学习中努力掌握这两项技能, 让它们一同伴随着你向人生的终极目标前进!
2003年3月