具体描述
内容提要
本书本着循序渐进、简洁实用的原则,从Java技术、Java语言、语言类、实用类、
流与文件、Internet网络编程、小程序、图形用户界面、绘制图形、小程序集锦等九个方
面,对Java进行全面、深入的剖析和编程技术介绍。本书以最新的SymantecCafe和
MicrosoftVisualJ十十为开发工具,既有对Java语言规范和类库的详细叙述,也有笔
者对Java的优劣势的精彩评价,同时附有大量的代码实例,以及穿插着与C/C++
(如MicrosoftVisualC++的MFC类库)的比较。
随本书一起推出的还有一张多媒体教学光盘。它采用HTML制作成图、文、声并
茂的主页,可以用MicrosoftInternetExplorer或NetscapeNavigator等Web浏览器
浏览。其中,既有本书精彩内容的语音讲解,更有所有小程序从源代码到运行状态的
动态演示。同时,在上下文环境中嵌入大量Internet地址。这些地址都是超级链接,如
果您的电脑与Internet相联,就可以立即在线访问到这些资源!
本书及其配套光盘是流行开发工具VB,Delphi,VC,BC,VFP,PB等的程序员学
习Java的理想读物,也是粗通Java的读者的进阶参考书。
作者简介
目录信息
第一部分 引言
第1章Internet
1.1网络
1.2网络协议
1.3OSI/ISO参考模型
1.4TCP/IP协议簇
1.5Internet
第2章 WWW
2.1起源
2.2工作模式
2.3特点
2.4Web浏览器
2.5统一资源定位器(URL)
2.6Http
2.7主页
2.8HTML
2.9主页设计
2.10网址资源
第3章 Java
3.1产生背景
3.2基本特点
3.3发展方向
3.4应用前景
3.5网址资源
第4章 OoP
4.1两种范式
4.2抽象
4.3三个基本原则
第5章 SymantecCafe1.51
5.1选择SymantecCafe
5.2安装SymantecCafe
5.3工程管理
5.4源代码编辑
5.5资源编辑器
5.6网址资源
第6章 用Cafe开发小程序
6.1Java程序
6.2Helloworld:播放动画
6.3Cafe:Java集成开发平台
6.4IE:支持Java的浏览器
第7章 用Cafe开发应用程序
7.1Java应用程序的两种形式
7.2第一种形式:Helloworld
7.3第二种形式:JavaWorkShop
7.4网址资源
第8章 MicrosoftVisualJ++1.0
8.1选择Visual J++
8.2安装VisualJ++
8.3MicrosoftDeveloperStudio
8.4项目工作空间
8.5项目工作空间窗口
8.6项目工作空间窗口中的视
8.7Infoviewer
8.8网址资源
第9章 用VisualJ十十开发小程序
9.1Appletl:播放动画
9.2Applet2:文本输出
9.3Applet3:添加鼠标事件处理
9.4Applet4:自己添加源代码
第二部分 Java 语言
第10章 数据类型
10.1Java是一种强类型的语言
10.2基本数据类型
10.3整数类型
10.4浮点数类型
10.5字符类型
10.6布尔
10.7网址资源
第11章 常量
11.1整数常量
11.2浮点常量
11.3布尔常量
11.4字符常量
11.5字符串常量
第12章 变量
12.1声明一个变量
12.2动态初始化
12.3变量的作用域和生命期
12.4类型自动转换和强制转换
12.5表达式的自动类型提升
第13章 数组
13.1一维数组
13.2多维数组
13.3其他数组声明句法
13.4指针:一个过时的概念
第14章 运算符
14.1算术运算符
14.2位运算符
14.3关系运算符
14.4“?”运算符
14.5运算符优先级
第15章 控制语句
15.1选择语句
15.2迭代语句
15.3跳转语句
第16章 类
16.1类的一般形式
16.2一个简单的类:Box
16.3方法
16.4构造器
16.5This
16.6重载
16.7用对象作为参数
16.8返回对象
16.9递归
16.10访问控制
16.11Static
16.12Final
16.13再论数组
第17章 继承
17.1继承
17.2访问控制
17.3实例
17.4Super
17.5方法重载
17.6动态方法派遣
17.7Abstract
17.8再论Final
第18章 包
18.1定义包
18.2访问保护
18.3Import
第19章 接口
19.1定义一个接口
19.2实现接口
19.3接口中的变量
19.4接口继承
第20章 异常
20.1异常处理
20.2异常类型
20.3未捕获的异常
20.4使用Try和Catch
20.5显示异常的描述
20.6多个Catch语句
20.7Throw
20.8Throws
20.9FinalLY
第三部分 java.lang包
第21章 字符串类
21.1何以两个类
21.2格式化字符串
21.3从路径获取文件名
21.4进一步参考
第22章 包裹类
22.1彻底的面向对象
22.2从变量构造实例对象
22.3从实例对象获取变量
22.4包裹类与String之间的转换
22.5Wrapperdemo
第23章 数学类
23.1概述
23.2MathDemo
23.3进一步参考
第24章 Thread类
24.1概述
24.2创建线程
24.3线程优先级
24.4ThreadDemo
第四部分java.util包
第25章 Vector类
25.1概述
25.2 VectorDemo
第26章 Date类
26.1概述
26.2DateDemo
26.3Java也有2000年问题
第27章 Hashtable类
27.1散表
27.2Hashtable类
27.3HashtableDemo
第五部分java.io包
第28章 控制台的输入/输出
28.1System类
28.2ConsoleDemo
第29章 文件的输入/输出
29.1一般文件输入/输出
29.2FileIODemo
29.3缓冲输入/输出
29.4DataIODemo
第30章 文件与目录
30.1File
30.2FileDemo
第六部分java.net包
第31章 网址
31.1概述
31.21netaddress
31.3InetAddressDenmo
第32章 URL
32.1概述
32.2格式
32.3URL
32.4URLDemo
32.5URLCONNECTION
32.6UCDe mo
第33章 TCP/IPSocket
33.1概述
33.2Socket
33.3SocketDemo
33.4ServerSocket
第34章 UDP和数据包
34.1概述
34.2DatagramPacket
34.3DatagramDemo
第七部分 java.applet包
第35章 小程序类
35.1概述
35.2创建AppletDemo工程
35.3用CafeStudio添加组件
35.4显示图片和绘制图形
35.5播放音频
35.6显示状态信息和调试信息
35.7从HTML获取参数
第八部分 java.awt 包
第36章 图形用户界面
36.1GUI类
36.2组件
36.3窗口
36.4包容器
36.5布局管理器
第37章 组件
37.1组件一览
37.2组件应用环境
37.3添加组件的方式
37.4对组件事件的响应
第38章 窗口系统
38.1Java的窗口系统
38.2Window
38.3菜单
38.4Frame
38.5Dialog
38.6FileDialog
38.7WindowDemo
38.8创建工程
38.9用CafeStudio制作资缘
38.10对事件进行处理
38.11结果演示
第39章 布局管理器(一):FlowLayout和BorderLayout类
39.1布局管理器
39.2FlowLayout
39.3borderLayout
39.4LayoutManagerIDemo1
39.5构造画布对象
39.6构造面板
39.7构造小程序
第40章 布局管理器(二):GridLayout和CardLavout
40.1GridLayout
40.2CardLayout
40.3小程序演示
40.4Keypad
40.5PhoneCard
40.6LayoutManagerDemo2
第41章 绘图综述
41.1分类
41.2原理
第42章 绘制几何图形
42.1基本的几何元素
42.2绘制方法
42.3GeometryDemo
42.4几点看法
第43章 显示图象
43.1Java的图象处理
43.2ImageDemo
43.3ImageDemo简版:ImageDemo2
第44章 实现动画
44.1动画原理
44.2AnimationDemo1:直接调用Thread.Sleep
44.3AnimationDemo2:从Thread派生
44.4AnimationDemo3:实现接口Runnable
第九部分 小程序集锦
第45章 食物链模拟
45.1动态、可交互的食物链
45.2设计思路
45.3类构造
45.4FoodChainPanel
45.5FoodChain
第46章 绘制统计曲线
46.1在Web上发布统计曲线
46.2实现要点和基本功能
46.3类的构造
46.4Curve
46.5Plot
第47章 计算器
47.1计算器:Java版
47.2实现要点
47.3类构造
47.4Calculator
第48章 时钟
48.1在Web页面上嵌入一个时钟
48.2实现要点
第49章 三维图形和动画
49.1三维图形和动画:Java高级应用
49.2基本功能和实现要点
49.3FileFormatException
49.4Matrix3D
49.5Mode13D
49.6GraphicsPane1
49.7Graphics3D
第50章 希望电台
50.1在Web上建造电台
50.2实现要点
50.3BackGround
50.4RadioButton
50.5HopeRadio
第十部分 附录
附录1JavaAPI第一部分:核心包
附录2JavaAPI第二部分:窗口工具集和小程序
· · · · · · (收起)
读后感
用户评价
我必须强调,这本书的**实战导向性**是它区别于市面上其他同类书籍的最大亮点。许多“入门”书籍虽然涵盖了知识点,但读完后依然感觉自己是“纸上谈兵”。这本书则巧妙地融合了“理论知识点”与“项目实践应用”。例如,在讲解文件I/O操作时,它没有仅仅停留在`FileInputStream`的读写上,而是紧接着提供了一个**“日志文件自动备份与分析工具”的完整设计与实现**。这个小工具不仅涉及I/O,还牵扯到了正则表达式(用于日志解析)和时间处理。通过完成这样的项目,我才真正体会到Java在企业级应用中的强大生命力。这种**“学一个知识点,立刻应用到一个有价值的场景中”**的学习路径,极大地增强了学习的粘性和成就感,让学习过程充满了解决问题的乐趣,而不是枯燥的语法记忆,这才是真正的“从入门到精通”的实践路径。
我之前尝试过几本号称“入门”的Java书籍,结果都是看了两章就劝退了,要么就是代码示例太老旧,要么就是对**面向对象思想(OOP)**的解释太过抽象晦涩,根本无法在我的脑海中建立起清晰的模型。然而,这本《Java 小程序设计从入门到精通》在讲解OOP时,简直是一场思维的革命。它没有停留在类和对象的文字定义上,而是通过构建一个**模拟的“图书馆管理系统”**的案例贯穿始终。从一开始定义“书”和“读者”的类,到后面讲解继承、多态和封装,都是在这个实际的项目中逐步深化的。特别是讲解**多态性**那里,作者利用一个“播放器”的接口,展示了如何统一处理MP3、WAV等不同音频文件,这种将抽象概念与具体业务场景紧密结合的方式,让我彻底明白了OOP的精髓——它不是为了写代码复杂而存在,而是为了让程序结构更清晰、更易于维护和扩展。这本书的深度在于,它让你在入门的同时,就已经开始用“专家”的思维方式去组织代码了。
这本《Java 小程序设计从入门到精通》简直是为像我这样刚接触编程,对Java一窍不通的小白量身定做的!书的结构安排得简直是教科书级别的完美。一开始,它并没有直接抛出复杂的代码或者深奥的理论,而是用非常生动有趣的语言,把Java的**基本语法和概念**掰开了揉碎了讲。我记得最清楚的是讲到变量和数据类型的那一章,作者居然用日常生活中的“盒子”和“物品”来比喻,让我瞬间就明白了什么是强类型语言。后续的流程控制,比如if-else和循环结构,也都是通过大量的**图示和实际的小例子**来巩固的。我感觉自己不是在啃一本技术书,而是在和一个经验丰富、耐心十足的老师进行一对一的交流。特别是书里提到的一些**常见的初学者容易犯的错误**,作者都提前预判到了,并在讲解时就给出了预防措施。读完前三分之一,我已经能自信地写出一些简单的计算器和猜数字的小程序了,那种“我能行”的成就感,真的太棒了!对于初学者来说,这种循序渐进、零门槛的引导,比直接啃官方文档要高效和友好太多了。
这本书的**配套资源和代码质量**也绝对是顶级的,这一点在实际学习中体验感受极强。通常买书,代码示例常常是复制粘贴的产物,很多时候编译都成问题,或者代码写得非常僵硬、不符合现代编程规范。但这本《Java 小程序设计从入门到精通》的所有代码示例都经过了精心打磨。它们不仅能够完美运行,而且代码风格极其专业、注释详尽,完全可以作为我未来自己写代码的**规范模板**。更重要的是,书中提供了一系列**实战项目的设计思路和步骤拆解**,比如一个简单的库存管理系统,它教会的不是“如何实现A功能”,而是“在实现A功能之前,你需要思考哪些架构设计、数据结构选择和异常处理”。这种从**设计思维到编码实现**的完整闭环教学,让我的编程能力得到了质的飞跃,从一个只会敲代码的“工人”,逐渐向能够独立思考的“工程师”转变。
真正让我对这本书佩服得五体投地的是它对**进阶主题的处理深度和广度**。很多入门书籍在讲完基础语法后,就会草草收场,留给读者一个巨大的鸿沟去面对实际开发中的各种挑战。但这本书的“精通”部分名副其实。它详细地介绍了**多线程和并发编程**的基础,这不是简单地告诉你`Thread`类怎么用,而是深入探讨了线程安全、锁机制(`synchronized`关键字的原理)以及线程池的概念。更让我惊喜的是,它竟然还花了大篇幅讲解了**Java集合框架(Collections Framework)的底层实现原理**!我清晰地看到了`HashMap`是如何通过哈希冲突解决和数组扩容来实现高效存取的,这对于我后续优化性能至关重要。这种对底层机制刨根问底的写作风格,保证了读者在达到“精通”的路上,不会留下任何知识的盲区,真正做到了知其所以然。