第1部分 Java语言基础语法 3
第1章 编程准备工作 3
1.1 软件高手的三个必备条件 3
1.2 Java语言编程工具(Eclipse)的网络下载、解压与安装 4
1.3 Java编程的示例性上机操作演示 9
1.3.1 打开Eclipse编程界面 9
1.3.2 上机操作实例 11
1.4 Java程序的基本框架分析 18
1.4.1 Java程序的基本界面及编写 18
1.4.2 Java程序结构分析 20
Eclipse编程器操作小技巧 23
习题 24
第2章 基本类型变量的定义、赋值与相互间的混合运算 27
2.1 变量的定义、赋值与字符(包括汉字、日韩文等)的UNICODE编码 27
2.2 变量的命名规则与Java语言的关键字 34
2.3 字符串及其与各种类型数据之间的相互转化 36
2.4 基本类型数据之间的强制转化与混合运算 40
2.5 Java程序数据的可视化输入/输出 43
2.6 两个整数直接相除时的取整取余运算 47
2.6.1 整数的分解:验证“首同尾合十”心算法则 48
2.6.2 避免两整数间的直接相除:计算25°角的正弦值 49
2.6.3 避免两整数间的直接相除:已知三角形三边(键盘输入)求面积 50
Eclipse编程器用法小技巧 51
2.7 单目、二目与三目运算符 51
习题 58
第3章 程序中错误的排除方法 61
3.1 语法错误的排除 61
3.2 逻辑错误的排除(程序调试:单步执行) 65
习题 69
第4章 控制语句 71
4.1 if...else条件语句 71
4.1.1 认识条件语句 71
4.1.2 条件语句的具体应用 76
4.2 布尔型基本变量的定义与赋值 87
4.3 switch多路分支语句 90
4.4 for循环语句 97
4.4.1 用循环语句求取UNICODE编码 98
4.4.2 循环语句与条件语句的混合应用 100
4.4.3 用循环语句来进行数的分离 103
4.4.4 for循环的嵌套 105
4.5 do{...}while()循环语句 107
4.6 while()循环语句 119
习题 129
第5章 数组 133
5.1 数组的定义与赋值 133
5.2 数组应用举例:用牛顿切线法求无理方程的根 135
习题 142
第2部分 类与对象 147
第6章 编程器自带类中常用类的基本用法 147
6.1 类的构成(成员函数与成员变量) 147
6.2 Integer类及Double类的基本用法 148
6.2.1 Integer类 149
6.2.2 实数类(Double) 156
6.3 Character类及String类的基本用法 157
6.3.1 实时帮助系统中Character类与String类的基本介绍 157
6.3.2 Character类与String类的具体应用 160
6.4 Math类的基本用法 167
6.4.1 实时帮助系统中Math类的详细介绍 167
6.4.2 电脑出题:100以内任意两个整数间的任意运算(加/减/乘/除) 169
6.4.3 编程证明:我国新生婴幼儿性别比例失衡与现行计生政策无关 171
6.5 JOptionPane类的基本用法 181
6.5.1 实时帮助系统中JOptionPane类的介绍及其用法示例 181
6.5.2 选择框的应用:对一个整数(键盘输入)进行任意进制转化 187
6.5.3 青少年未来身高的科学预测 190
习题 193
第7章 自定义类及其应用 197
7.1 类的自定义方法及其操作步骤 197
7.1.1 圆类 197
7.1.2 长方形类(Java工程的复制) 204
7.1.3 一元二次方程类 208
7.1.4 评论:类成员的访问权限 213
7.2 子类对父类成员(变量和函数)的复制性继承与扩充 216
7.2.1 圆>>圆柱体;圆>>球 217
7.2.2 长方形>>长方体 225
7.2.3 子类对父类私有成员变量的间接访问方式:Getters和Setters 230
7.3 子类对(复制性)继承下来的父类成员函数有“功能改造权” 234
7.4 final类的禁止继承性与final函数的禁止改造性 241
7.5 类的static静态成员 243
7.6 构造函数、类成员函数等的多态灵活性 249
习题 253
第8章 抽象类、接口、内部类与匿名类 255
8.1 抽象类的定义方式与应用 255
8.1.1 抽象类的定义 255
8.1.2 抽象类的具体应用 255
8.1.3 对象的类型转化:上转型与下转型 268
8.2 接口的定义方式与应用 272
8.2.1 接口的定义 272
8.2.2 接口的应用 274
8.3 内部类(类中类)的定义方式及应用 287
8.4 匿名类、匿名子类的定义方式与应用 293
8.4.1 匿名类、匿名子类的应用实例 293
8.4.2 抽象类的匿名子类定义方式及应用 301
8.4.3 接口的匿名子类定义方式及应用 303
8.4.4 外部类成员在匿名子类(内部类)中的有效性 308
习题 318
第9章 软件对用户异常操作的处理 319
9.1 异常操作及其捕获处理 319
9.2 常见异常及其类层继承关系 327
9.3 用户自定义异常(把Java程序打包压缩成一个可执行Java软件) 331
习题 348
第3部分 Java软件的可视化设计开发 351
第10章 基于AWT的Java可视化软件设计 351
10.1 可视化编程组件VE(Visual Editor)的网络下载与解压处理 351
10.2 软件的可视化设计原理、设计思路与运行机理 353
10.3 软件设计案例一:按钮对鼠标单击次数的统计(基于Dialog) 355
10.3.1 可视化类(基于Dialog)的建立 355
10.3.2 对系统生成的软件框架代码的分析与必要功能填充 357
10.3.3 软件功能拓展:添加标签以显示鼠标对按钮单击次数的平方根 366
10.4 软件设计案例二:求编辑框中数据的平方根、立方根(基于Dialog) 370
10.4.1 软件(界面及代码)框架的建立 370
10.4.2 人-机界面设计:编辑框、标签、按钮等组件的添加 372
10.4.3 给按钮“捆绑”鼠标单击消息函数以实现软件功能 374
10.4.4 各组件排布方式(Layout)的调整及组件自身属性的更改 376
10.5 软件设计案例三:一元二次方程的求解(基于Dialog) 379
10.6 软件设计案例四:阶梯型水费的收取(基于Frame) 388
10.6.1 软件(界面及代码)框架的建立 389
10.6.2 人-机界面设计:各种组件的添加、属性更改与Layout排布 392
10.6.3 软件功能的实现:给相应组件“捆绑”消息函数 393
10.6.4 Frame框架窗口的各种属性及其含义 395
10.7 (网络)软件设计案例五:阶梯型水费的收取(基于Applet) 397
10.7.1 软件(界面及代码)框架的建立 397
10.7.2 人-机界面设计:各种组件的添加、属性更改与Layout排布 400
10.7.3 软件功能的实现:给相应组件“捆绑”消息函数 401
10.7.4 向网页文件(.html)中插入Applet程序 404
10.7.5 把Applet程序的打包压缩文件(.jar)插入到网页文件中去 406
10.8 (网络)软件设计案例六:青少年身高的科学预测(基于Applet) 407
10.8.1 列表框及复选框成员函数的功能介绍 408
10.8.2 程序框架的构建及人-机界面设计(列表框的应用) 409
10.8.3 软件功能的实现:给相应组件“捆绑”消息函数 411
10.8.4 向网页文件(.html)中插入Applet程序 415
10.8.5 软件功能拓展:选择框的应用 416
习题 416
第11章 基于swing的Java可视化软件开发 417
11.1 Javax.swing中类的继承层次关系 417
11.2 软件设计案例七:BorderLayout及Timer的应用(基于JDialog) 418
11.2.1 软件(界面及代码)框架的建立 419
11.2.2 JButton按钮的BorderLayout布局方式应用 423
11.2.3 Timer定时器应用 428
11.3 软件设计案例八:文本信息的加密与解密(基于JDialog) 432
11.3.1 文本信息的输入与同步加密 433
11.3.2 密码文件的保存与打开 437
11.3.3 软件使用权限的设置:用户名、密码验证对话框的引入 443
11.3.4 两个独立的Java类程序之间的“串连运行” 447
11.3.5 两个独立的Java类程序“打包”成一个可执行Java软件 451
11.4 软件设计案例九:简易CAD绘图软件设计开发(基于JFrame) 452
11.4.1 软件(界面及代码)框架的建立及框架分析 453
11.4.2 人-机界面设计:各种组件的添加及消息函数的捆绑 455
11.4.3 用鼠标拖动法绘制直线 463
Eclipse操作技巧 463
11.4.4 用鼠标拖动法绘制矩形 470
11.4.5 用鼠标拖动法绘制椭圆 480
11.4.6 绘图界面在最大化与最小化过程中的图形“再现”问题 484
11.4.7 清屏重绘(右键单击弹出式浮动菜单的应用) 486
11.4.8 把程序打包成.exe可执行软件过程中的注意事项 494
11.5 软件设计案例十:“小型计算器”软件的模拟开发(基于JFrame) 495
11.5.1 标准型计算器开发 496
11.5.2 科学型计算器的开发及其与标准型计算器之间的菜单切换 531
11.5.3 帮助菜单中“About关于”对话框的开发 534
11.5.4 把多个独立的类程序文件打包成一个.exe可执行软件 535
11.6 (网络)软件设计案例十一:网络挂钟设计开发(基于JApplet) 536
11.6.1 程序框架代码的建立 536
11.6.2 (挂钟)表盘刻度的绘制 539
11.6.3 时针、分针与秒针的绘制及周期性刷新(线程的概念及应用) 542
11.6.4 给秒针添加“滴答滴答”走动声 550
11.6.5 把“时钟”嵌入到网页中 554
习题 555
附录 Java编程工具(Eclipse软件)的常用操作技能示例查询 557
写作历程杂记 561
致谢 563